zoukankan      html  css  js  c++  java
  • 【转】计算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  
  • 相关阅读:
    Web Services Software Factory tutorial (3 of 5)
    [转]张孟苏考上的不是大学
    试用期要盯紧你的“四金”
    Asp.net 随记 Part2 (31 49)
    如何查找当前页面元素---DataList
    Web Services Software Factory tutorial (2 of 5)
    SharePoint:扩展DVWP 第19部分:可维护的下拉框 填充关系列表(下)
    SharePoint:扩展DVWP 第14部分:用jQuery编写PreSaveAction()实务
    SharePoint:扩展DVWP 第16部分:为实现可维护的下拉框准备数据
    SharePoint:扩展DVWP 第5部分:在保存操作提交前做些事情——PreSaveAction()
  • 原文地址:https://www.cnblogs.com/exmyth/p/7155946.html
Copyright © 2011-2022 走看看