1.使用LinkedHashSet删除arraylist中的重複資料
場景:考慮資料順序、不允許添加重複資料
LinkedHashSet是在一個ArrayList删除重複資料的最佳方法。LinkedHashSet在内部完成兩件事:
- 删除重複資料
- 保持添加到其中的資料的順序
Java示例使用LinkedHashSet删除arraylist中的重複項。在給定的示例中,numbersList是包含整數的arraylist,其中一些是重複的數字。
例如1,3和5.我們将清單添加到LinkedHashSet,然後将内容傳回到清單中。結果arraylist沒有重複的整數。
輸出結果
2.使用java8新特性stream進行List去重
場景: 資料量很大,考慮性能、效率。用java8流操作還是很快的
要從arraylist中删除重複項,我們也可以使用java 8新特性Stream流。使用steam的distinct()方法傳回一個由不同資料組成的流,通過對象的equals()方法進行比較。
收集所有區域資料List使用Collectors.toList()。
Java程式,用于在不使用Set的情況下從java中的arraylist中删除重複項。
輸出結果
3.利用HashSet不能添加重複資料的特性
場景:不考慮添加的順序
4.利用List的contains方法循環周遊,重新排序,隻添加一次資料,避免重複:
場景:需要一個新集合、資料量較小。性能稍差
5.雙重for循環去重場景:和第四個差別不大。性能稍差
for (
喜歡公衆号的朋友可以 關注 、 點贊 、 點再看 !

掃碼關注
公衆号: Javatwjd
部落格:http://g6e.cn/R6RYZu
球分享
球點贊
球在看