List 集合去重合併 , 多種方法演示

2021-07-27 15:55:17 字數 803 閱讀 8649

lista = new arraylist();

a.add("2");

a.add("4");

a.add("5");

a.add("6");

listb = new arraylist();

b.add("2");

b.add("3");

b.add("6");

b.add("7");

1.集合自帶的api

這種方式看似挺方便 , 但是其底層還是遍歷的去重 , 如果資料量太大還是不建議使用

public static void sortlisttwo(lista, listb) 

}

2.set 方式 , 其本身就是不重複的集合

public static void sortlistone(lista, listb) 

}

3.map 方式 , key 是唯一的

這種方式可以去重 ,但是需要遍歷兩個list , 還是較為繁瑣

public static void sortlistfree(lista, listb) 

for (string str1 : b)

for(map.entryentry : map.entryset())

}

**注意:**以上的幾種方式都是針對的基本資料型別 , 如果是物件的話會有一些問題

針對list集合去重的幾種方法

這種方法就相對比較死板,必須集合的物件中每個欄位都相同才能去重。public static void main string args public static void remove system.out.println 迴圈去重後的集合 users.tostring 執行結果 迴圈去重前的集合...

List集合去重的一種方法

前一段時間們需要對乙個list集合去重,情況是該集合中會出現多個name屬性值相同的,但是其他屬性值不同的資料。在這種情況下,需求要只保留其中乙個就好。我覺得遍歷和hashset都不是我想要的,便採用了一下方式 定義compare類,繼承iequalitycomparer介面 public clas...

js 陣列去重多種方法

var arr 1,2,3,2,1,2,1,34,44 方法一 利用jquery unique var newarr unique arr 方法二 利用indexof去重 var newarr for var i 0 i if newarr.indexof arr i 1 return newarr...