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


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

    [java] view plain copy
     
    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(" 例子1 - 计算'a'出现的次数");  
    28.         System.out.println("a : " + Collections.frequency(list, "a"));  
    29.    
    30.         System.out.println(" 例子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(" 例子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(" Map排序-以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] view plain copy
     
    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  
  • 相关阅读:
    2018-2019-1 20165202 20165210 20165214 实验一 开发环境的熟悉
    20165214 朱文远 缓冲区溢出漏洞实验
    2018-2019-1 20165214 《信息安全系统设计基础》第三周学习总结
    2018-2019-1 20165214 《信息安全系统设计基础》第2周学习总结
    2018-2019-1 20165214 《信息安全系统设计基础》第1周学习总结
    20165214 2017-2018-2 《Java程序设计》课程总结
    编程实现类似Linux系统的cp功能
    编程实现Linux系统的od功能
    2017-2018-2 20165214 实验五《网络编程与安全》实验报告
    2018-2019-1 20165212 20165313 2016522 实验一 开发环境的熟悉
  • 原文地址:https://www.cnblogs.com/exmyth/p/7155946.html
Copyright © 2020-2023  润新知