# 统计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

• 本文已收录于以下专栏：

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

1，生成20个随机数插入到集合中 // 15~50 List list = new ArrayList(); for (int i = 1; i list.add((int) (Math.rando...
• hello_word2
• 2016年08月01日 18:33
• 3820

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

int count = Collections.frequency(list, key); java提供了方法，但实现原理是for循环，所以在大数据量下不建议使用，或者你要判断某个key出现的次数...
• u012516166
• 2017年09月29日 17:44
• 704

## 数组，List 重复元素统计数量，找出唯一的元素

• 2014年06月20日 09:09
• 2KB
• 下载

## List之统计元素项以及元素出现的次数

List之统计元素项以及元素出现的次数
• qq_32040767
• 2017年03月10日 21:02
• 627

## Java中List集合去除重复数据的方法

1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i =...
• u011728105
• 2015年06月22日 18:50
• 42112

## 查找list中重复数据

• zhujiangtaotaise
• 2016年08月31日 15:45
• 1309

## 有关C#中的List的用法集合(仅是个人统计)

List的方法隶属的命名空间System.Collections.Generic List的方法和属性 作用： Capacity 用于获取或设置List可容纳元素的数量。当数量超过容量时，这个...
• molitiantang
• 2012年08月13日 16:42
• 6706

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

package com.qiyadeng.core;   import java.util.ArrayList; import java.util.Collections; import ja...
• Yan456jie
• 2016年11月09日 13:51
• 1932

## 对python中的list元素计数

• dlhlSC
• 2017年03月17日 09:42
• 1363

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

Map, Integer> map = new TreeMap, Integer>(); for (Object i : listIp) { if (map.get(i) == null) {...
• u013063153
• 2017年03月03日 15:51
• 2782

举报原因： 您举报文章：统计List中的元素重复出现的次数 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)