天天看點

java 8 list string 去重排序_List去除重複資料的五種方式

你知道的越多,不知道的就越多,業餘的像一棵小草!

你來,我們一起精進!你不來,我和你的競争對手一起精進!

編輯:業餘草

blog.csdn.net/qq_37939251/article/details/90713643

推薦:https://www.xttblog.com/?p=5116

實際工作中,沒多少場景會用到 List 去重。但是在面試中,問到你,估計也沒多少人能回答出這五種方法。

以下介紹五種-不同的方法去除 Java 中ArrayList中的重複資料

1.使用LinkedHashSet删除arraylist中的重複資料

LinkedHashSet是在一個ArrayList删除重複資料的最佳方法。LinkedHashSet在内部完成兩件事:

  • 删除重複資料
  • 保持添加到其中的資料的順序

Java示例使用LinkedHashSet删除arraylist中的重複項。在給定的示例中,numbersList是包含整數的arraylist,其中一些是重複的數字。

例如1,3和5.我們将清單添加到LinkedHashSet,然後将内容傳回到清單中。結果arraylist沒有重複的整數。

輸出結果

2.使用java8新特性stream進行List去重

要從arraylist中删除重複項,我們也可以使用java 8 stream api。使用steam的distinct()方法傳回一個由不同資料組成的流,通過對象的equals()方法進行比較。

收集所有區域資料List使用Collectors.toList()。

Java程式,用于在不使用Set的情況下從java中的arraylist中删除重複項。

輸出結果

3.利用HashSet不能添加重複資料的特性 由于HashSet不能保證添加順序,是以隻能作為判斷條件保證順序:

4.利用List的contains方法循環周遊,重新排序,隻添加一次資料,避免重複:

5.雙重for循環去重

java 8 list string 去重排序_List去除重複資料的五種方式

繼續閱讀