日期:2014-05-20  浏览次数:20738 次

关于java的list的问题 求解
如果我有一个list,里面装有重复数据,我想求重复数据的个数,最简单的办法是什么!


例:
listA 中数据:1 2 2 3 4 5 S b B B!

我想知道list中 有多少个1 多少个2 。。。。。。

------解决方案--------------------
public static void main(String[] args) {

List<String> list = new ArrayList<String>();
list.add("1");
list.add("1");
list.add("2");
list.add("2");
list.add("3");

Map<String, Integer> map = new HashMap<String, Integer>();
Iterator<String> it=list.iterator();
while(it.hasNext()){
String str = (String) it.next();
if (map.containsKey(str)) {
int value = (map.get(str)) + 1;
map.put(str, value);
} else {
map.put(str, 1);
}
}

it = map.keySet().iterator();
while (it.hasNext()) {
String key = (String) it.next();
int value = map.get(key);
System.out.println(key + "=" + value);
}

}