Java統計list集合中重復的元素


本題目能夠從宏觀上理解list、set、map三大集合的特點:

解決思路是:使用一個map,key用來記錄list中的數據,我們知道set集合不允許元素重復,正好在map的jdk8的api中有一個keySet()方法如下

 

 

說明了hashmap的key是唯一的,我們利用這個特性然后用value用來記錄重復數據的個數,然后操作map來獲取list中的重復數據即可

完整代碼如下:

package com.Jevin.test;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class Test03 {
    
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("d");
 
        Map<String,Integer> map = new HashMap<>();
        for(String str:list){
            Integer i = 1; //定義一個計數器,用來記錄重復數據的個數
            if(map.get(str) != null){
                i=map.get(str)+1;
            }
            map.put(str,i);
        }
        System.out.println("重復數據的個數:"+map.toString());
 
 
        System.out.print("重復的數據為:");
        for(String s:map.keySet()){
            if(map.get(s) > 1){
                System.out.print(s+" ");
            }
        }
    }
}

執行結果如下:

 

友情提示:相關類似的集合去重操作統計重復元素的操作可以參照本例中的核心代碼稍作修改即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 如何去除List集合中的重復元素? 去除List集合中重復的元素 java集合 collection-list-ArrayList 將自定義對象作為元素存到ArrayList集合中,並去除重復元素。 java之判斷集合中的元素是否重復 統計數組或者集合中重復元素的個數。 如何判斷/檢查一個集合(List )中是否有重復的元素 Java中List集合去除重復數據的方法1 去除List集合中的重復元素? 如果沒有Set集合,List集合是怎么去除重復元素的(字符串類型,自定義類型)? .NET[C#]使用LINQ從List 集合中刪除重復對象元素(去重)的方法有哪些? C# 取list中某一元素的不重復集合
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM