# 统计List中的元素重复出现的次数

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();

System.out.println("\n例子 1 -统计'a'出现的频率");
System.out.println("a : " + Collections.frequency(list, "a"));

System.out.println("\n例子 2 - 统计每一个元素出现的频率");
//将List转换为Set
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("\nSorted Map");
Map treeMap = new TreeMap(map);
printMap(treeMap);

}

public static void printMap(Map map){

for (Map.Entry entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() + " Value : "
+ entry.getValue());
}

}

}

	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 - 统计每一个元素出现的频率");
	//将List转换为Set
	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("\nSorted Map");
Map treeMap = new TreeMap(map);
printMap(treeMap);

}

public static void printMap(Map map){

for (Map.Entry entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() + " Value : "
+ entry.getValue());
}

}

}

	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("\nSorted Map");
Map treeMap = new TreeMap(map);
printMap(treeMap);

}

public static void printMap(Map map){

for (Map.Entry entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() + " Value : "
+ entry.getValue());
}

}

}


	for (String temp : list) {
		Integer count = map.get(temp);
		map.put(temp, (count == null) ? 1 : count + 1);
	}
	printMap(map);

	System.out.println("\nSorted Map");
	Map treeMap = new TreeMap(map);
printMap(treeMap);

}

public static void printMap(Map map){

for (Map.Entry entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() + " Value : "
+ entry.getValue());
}

}

}

	printMap(treeMap);

  }

  public static void printMap(Map map){

for (Map.Entry entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() + " Value : "
+ entry.getValue());
}

}

}


	for (Map.Entry entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() + " Value : "
+ entry.getValue());
}

}

}

		System.out.println("Key : " + entry.getKey() + " Value : "
			+ entry.getValue());
	}

  }

}

例子 1 -统计'a'出现的频率
a : 4

例子 2 - 统计每一个元素出现的频率
d: 1
b: 2
c: 2
a: 4

例子 3 - 用Map统计每个元素出现的频率
Key : d Value : 1
Key : b Value : 2
Key : c Value : 2
Key : a Value : 4

Sorted Map
Key : a Value : 4
Key : b Value : 2
Key : c Value : 2
Key : d Value : 1

#### 对python中的list元素计数

2017-03-17 09:42:11

#### list集合统计元素出现的次数

2016-08-01 18:33:34

#### 计算Java List中的重复项出现次数【转】

2013-02-28 11:31:36

#### java list统计某个元素出现的次数

2017-09-29 17:44:06

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

2016-11-09 13:51:57

#### java统计List中的元素重复出现的次数

2013-07-23 18:21:30

#### 统计list中重复数据的条数

2017-02-22 10:11:34

#### 统计list里相同值的个数

2015-08-11 12:07:04

#### Java判断List中相同值元素的个数

2017-03-03 15:51:10

#### 求list中，相同元素的个数

2017-05-07 12:20:40