qiyadeng

专注于Java示例及教程
posts - 84, comments - 152, trackbacks - 0, articles - 34

计算Java List中的重复项出现次数

Posted on 2013-02-25 22:44 qiyadeng 阅读(3556) 评论(0)  编辑  收藏
本文演示如何使用Collections.frequency和Map来计算重复项出现的次数。(Collections.frequency在JDK 1.5版本以后支持)

package com.qiyadeng.core;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
 
public class CountDuplicatedList {
 
    
public static void main(String[] args) {
 
        List list 
= new ArrayList();
        list.add(
"a");
        list.add(
"b");
        list.add(
"c");
        list.add(
"d");
        list.add(
"b");
        list.add(
"c");
        list.add(
"a");
        list.add(
"a");
        list.add(
"a");
 
        System.out.println(
"\n例子1 - 计算'a'出现的次数");
        System.out.println(
"a : " + Collections.frequency(list, "a"));
 
        System.out.println(
"\n例子2 - 计算所有对象出现的次数");
        Set uniqueSet 
= new HashSet(list);
        
for (String temp : uniqueSet) {
            System.out.println(temp 
+ "" + Collections.frequency(list, temp));
        }
 
        System.out.println(
"\n例子3 -用Map来计算对象出现的次数");
        Map map 
= new HashMap();
 
        
for (String temp : list) {
            Integer count 
= map.get(temp);
            map.put(temp, (count 
== null? 1 : count + 1);
        }
        printMap(map);
 
        System.out.println(
"\nMap排序-以key排序");
        Map treeMap 
= new TreeMap(map);
        printMap(treeMap);
 
    }
 
    
public static void printMap(Map map) {
        
for (Map.Entry entry : map.entrySet()) {
            System.out.println(
"Key-value : " + entry.getKey() + ""
                    
+ entry.getValue());
        }
    }
}

输出结果
例子1 - 计算'a'出现的次数
a : 
4
例子2 
- 计算所有对象出现的次数
d: 
1
b: 
2
c: 
2
a: 
4
例子3 
-用Map来计算对象出现的次数
Key
-value : d- 1
Key
-value : b- 2
Key
-value : c- 2
Key
-value : a- 4
Map排序
-以key排序
Key
-value : a- 4
Key
-value : b- 2
Key
-value : c- 2
Key
-value : d- 1

原创文章,转载请注明: 转载自http://www.qiyadeng.com/

本文链接地址: 计算Java List中的重复项出现次数


只有注册用户登录后才能发表评论。


网站导航: