Welcome 微信登录

首页 / 软件开发 / JAVA / 使用Collections.frequency和Map计算Java List中重复项出现的次数

使用Collections.frequency和Map计算Java List中重复项出现的次数2013-07-17 qiyadeng 本文演示如何使用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("
例子1 - 计算"a"出现的次数");System.out.println("a : " + Collections.frequency(list, "a")); System.out.println("
例子2 - 计算所有对象出现的次数");Set uniqueSet = new HashSet(list);for (String temp : uniqueSet) {System.out.println(temp + ": " + Collections.frequency(list, temp));} System.out.println("
例子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("
Map排序-以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: 1b: 2c: 2a: 4例子3 -用Map来计算对象出现的次数Key-value : d- 1Key-value : b- 2Key-value : c- 2Key-value : a- 4Map排序-以key排序Key-value : a- 4Key-value : b- 2Key-value : c- 2Key-value : d- 1
出处:http://www.qiyadeng.com/