qiyadeng

          專注于Java示例及教程
          posts - 84, comments - 152, trackbacks - 0, articles - 34
          本文演示如何使用Collections.frequency和Map來計(jì)算重復(fù)項(xiàng)出現(xiàn)的次數(shù)。(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(
          "\n例子1 - 計(jì)算'a'出現(xiàn)的次數(shù)");
                  System.out.println(
          "a : " + Collections.frequency(list, "a"));
           
                  System.out.println(
          "\n例子2 - 計(jì)算所有對象出現(xiàn)的次數(shù)");
                  Set uniqueSet 
          = new HashSet(list);
                  
          for (String temp : uniqueSet) {
                      System.out.println(temp 
          + "" + Collections.frequency(list, temp));
                  }
           
                  System.out.println(
          "\n例子3 -用Map來計(jì)算對象出現(xiàn)的次數(shù)");
                  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(
          "\nMap排序-以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());
                  }
              }
          }

          輸出結(jié)果
          例子1 - 計(jì)算'a'出現(xiàn)的次數(shù)
          a : 
          4
          例子2 
          - 計(jì)算所有對象出現(xiàn)的次數(shù)
          d: 
          1
          b: 
          2
          c: 
          2
          a: 
          4
          例子3 
          -用Map來計(jì)算對象出現(xiàn)的次數(shù)
          Key
          -value : d- 1
          Key
          -value : b- 2
          Key
          -value : c- 2
          Key
          -value : a- 4
          Map排序
          -以key排序
          Key
          -value : a- 4
          Key
          -value : b- 2
          Key
          -value : c- 2
          Key
          -value : d- 1

          原創(chuàng)文章,轉(zhuǎn)載請注明: 轉(zhuǎn)載自http://www.qiyadeng.com/

          本文鏈接地址: 計(jì)算Java List中的重復(fù)項(xiàng)出現(xiàn)次數(shù)


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 荥阳市| 三江| 乌苏市| 荆州市| 靖安县| 崇信县| 吴江市| 兴安县| 合山市| 通河县| 丁青县| 秀山| 太保市| 台湾省| 旬阳县| 西畴县| 德庆县| 宜都市| 红桥区| 高陵县| 博爱县| 突泉县| 九寨沟县| 永新县| 且末县| 龙口市| 会宁县| 罗田县| 班戈县| 通州市| 旺苍县| 寻甸| 烟台市| 合江县| 张掖市| 泾川县| 商洛市| 罗平县| 科尔| 渭南市| 绥江县|