博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】计算Java List中的重复项出现次数
阅读量:7138 次
发布时间:2019-06-28

本文共 1535 字,大约阅读时间需要 5 分钟。

本文演示如何使用Collections.frequency和Map来计算重复项出现的次数。(Collections.frequency在JDK 1.5版本以后支持)

 

[java]   
 
  1. package com.qiyadeng.core;  
  2.    
  3. import java.util.ArrayList;  
  4. import java.util.Collections;  
  5. import java.util.HashMap;  
  6. import java.util.HashSet;  
  7. import java.util.List;  
  8. import java.util.Map;  
  9. import java.util.Set;  
  10. import java.util.TreeMap;  
  11.    
  12. public class CountDuplicatedList {  
  13.    
  14.     public static void main(String[] args) {  
  15.    
  16.         List list = new ArrayList();  
  17.         list.add("a");  
  18.         list.add("b");  
  19.         list.add("c");  
  20.         list.add("d");  
  21.         list.add("b");  
  22.         list.add("c");  
  23.         list.add("a");  
  24.         list.add("a");  
  25.         list.add("a");  
  26.    
  27.         System.out.println("\n例子1 - 计算'a'出现的次数");  
  28.         System.out.println("a : " + Collections.frequency(list, "a"));  
  29.    
  30.         System.out.println("\n例子2 - 计算所有对象出现的次数");  
  31.         Set uniqueSet = new HashSet(list);  
  32.         for (String temp : uniqueSet) {  
  33.             System.out.println(temp + ": " + Collections.frequency(list, temp));  
  34.         }  
  35.    
  36.         System.out.println("\n例子3 -用Map来计算对象出现的次数");  
  37.         Map map = new HashMap();  
  38.    
  39.         for (String temp : list) {  
  40.             Integer count = map.get(temp);  
  41.             map.put(temp, (count == null) ? 1 : count + 1);  
  42.         }  
  43.         printMap(map);  
  44.    
  45.         System.out.println("\nMap排序-以key排序");  
  46.         Map treeMap = new TreeMap(map);  
  47.         printMap(treeMap);  
  48.    
  49.     }  
  50.    
  51.     public static void printMap(Map map) {  
  52.         for (Map.Entry entry : map.entrySet()) {  
  53.             System.out.println("Key-value : " + entry.getKey() + "- "  
  54.                     + entry.getValue());  
  55.         }  
  56.     }  
  57. }  

输出结果

 

 

[sql]   
 
  1. 例子1 - 计算'a'出现的次数  
  2. a : 4  
  3. 例子2 - 计算所有对象出现的次数  
  4. d: 1  
  5. b: 2  
  6. c: 2  
  7. a: 4  
  8. 例子3 -用Map来计算对象出现的次数  
  9. Key-value : d- 1  
  10. Key-value : b- 2  
  11. Key-value : c- 2  
  12. Key-value : a- 4  
  13. Map排序-以key排序  
  14. Key-value : a- 4  
  15. Key-value : b- 2  
  16. Key-value : c- 2  
  17. Key-value : d- 1  

转载地址:http://ryvrl.baihongyu.com/

你可能感兴趣的文章
个人第一款小工具-批量文件重命名By Qt 5(Qt 5.2.1 + MSVC2012)
查看>>
《Java EE 开发技术与案例教程》 这是一本好书啊:简洁精辟(相见恨晚)
查看>>
十、装饰(Decorator)模式 --结构模式(Structural Pattern)
查看>>
WWDC 2013 Session笔记 - UIKit Dynamics入门
查看>>
5月7日——采用第三方页面内容,但是顶部title使用自己的
查看>>
RGBa颜色 css3的Alpha通道支持
查看>>
SSE图像算法优化系列十八:三次卷积插值的进一步SSE优化。
查看>>
unity SystemInfo类 获得电量battery
查看>>
[好文要转]【关于block使用的5点注意事项】
查看>>
Windows如何安装自定义服务
查看>>
095、如何创建Swarm集群?(Swarm02)
查看>>
结对开发地铁
查看>>
附加题
查看>>
this kernel requires an x86-64 cpu,but only detected an i686 cpu
查看>>
extjs4学习-02-导入相关文件
查看>>
python generator iterator和iterable object
查看>>
求二维数组中最大子数组的和
查看>>
SaltStack
查看>>
1. 构建您的第一个应用
查看>>
适配器模式(Adapter)
查看>>