Java中List集合去除重復數據的方法


  • 循環list中的所有元素然后刪除重復
    循環list中的所有元素然后刪除重復
    總結:
    兩層循環,外層循環從第一個元素向最后一個元素循環,內層循環是從最后一個元素向外層循環元素的當前元素循環。比較兩個元素是否相等,如果相等,移除靠后的元素來進行去重。這種方法時間復雜度大於O(n),小於O(N²)

  • 通過HashSet剔除重復元素
    通過HashSet剔除重復元素
    總結:
    此種方式是利用了Set的特性:元素不可重復,其底層原理是先計算每個對象的hash值,再比較元素值是否相同,如果相同,則保留最新的。

  • 刪除ArrayList中重復元素,保持順序
    刪除ArrayList中重復元素,保持順序

  • 把list里的對象遍歷一遍,用list.contain(),如果不存在就放入到另外一個list集合中
    把list里的對象遍歷一遍,用list.contain(),如果不存在就放入到另外一個list集合中

  • 用JDK1.8 Stream中對List進行去重:list.stream().distinct();
    用JDK1.8 Stream中對List進行去重
    首先獲得此list的Stream,然后調用distinct()方法。Java8中提供流的方式對數據進行處理,非常快,底層用的是forkJoin框架,提供了並行處理,使得多個處理器同時處理流中的數據,所以耗時非常短。


來源:慕課網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM