首頁 > 科技

面試官:說說List 去除重複資料的五種方式?80%的人都回答錯了

2021-06-04 16:13:50

在實際開發中,經常會遇到需要找出(刪除)一個list中某些元素的屬性相同的元素,或者兩個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的同學,如果需要Java學習資料可以私信回覆我


IT145.com E-mail:sddin#qq.com