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

2021-08-31 23:29:08 字數 2030 閱讀 2380

這種方法就相對比較死板,必須集合的物件中每個欄位都相同才能去重。

public static void main(string args) 

public static void remove()

}} system.out.println("迴圈去重後的集合:" + users.tostring());

}

執行結果 

迴圈去重前的集合:[user(username=zhangsan, password=123456), user(username=wanggnag, password=8945654), user(username=zhangsan, password=123456)]

迴圈去重後的集合:[user(username=zhangsan, password=123456), user(username=wanggnag, password=8945654)]

public static void main(string args) 

public static void remove()

執行結果如圖

set去重前的集合:[user(username=zhangsan, password=123456), user(username=wanggnag, password=8945654), user(username=zhangsan, password=123456)]

set去重後的集合:[user(username=wanggnag, password=8945654), user(username=zhangsan, password=123456)]

public static void main(string args) 

public static void remove()

} system.out.println("迴圈去重後的集合:" + use.tostring());

}

執行結果:

迴圈去重前的集合:[user(username=zhangsan, password=123456), user(username=wanggnag, password=8945654), user(username=zhangsan, password=123456)]

迴圈去重後的集合:[user(username=zhangsan, password=123456), user(username=wanggnag, password=8945654)]

例項**如下:

public static void duplicate() 

} public static listremoveduplicatedate(listusers)

});set.addall(users);

return new arraylist(set);

} public static void main(string args)

執行結果:

去重前:[user(username=zhangsan, password=123456), user(username=wanggnag, password=8945654), user(username=zhangsan, password=8945654)]

去重後wanggnag::8945654

去重後zhangsan::123456

public static void main(string args) 

hs.put(string, count);

}system.out.println(hs);

system.out.print("重複的有:");

for (string key : hs.keyset())

}}

執行結果:

重複的有:a b d

list集合去重的幾種方式

準備資料 準備資料 list list new arraylist list.add a list.add b list.add c list.add c list.add b list.add a 利用list中的元素建立hashset集合,此時set中進行了去重操作 hashset set ne...

List集合去重的一種方法

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

List集合去重

第一種 list每remove掉乙個元素以後,後面的元素都會向前移動,此時如果執行i i 1,則剛剛移過來的元素沒有被讀取。string str1 newstring abcde1 string str2 newstring abcde2 string str3 newstring abcde3 s...