日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stream去重_重复数据如何处理?List集合去重的四种方式

發布時間:2024/9/27 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stream去重_重复数据如何处理?List集合去重的四种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

List集合在Java日常開發中是必不可少的,只要懂得運用各種各樣的方法就可以大大提高我們開發的效率,適當活用各種方法才會使我們開發事半功倍。但是,有時候難免會遇到集合里的數據是重復的,需要進行去除。

今天,就給大家講解一下List集合去重的的四種方式。

雙重for循環去重

使用兩個for循環遍歷集合所有元素,然后進行判斷是否有相同元素。

兩兩比較如果相等的話就刪除第二個 :

例如:1 1 1 3 2 1 2 4

先讓第一個1 即arr[0]與后面的一個個比較,如果后面的值等于arr[0] 刪除后面的值

第一次結束后的結果是 1 3 2 2 4 ,刪除了后面所有的1 。

同理,第二次、第三會刪除與自己相同的元素。

HashSet去重

背過特性的都知道HashSet可以去重,把List集合所有元素存入HashSet對象,接著把List集合元素全部清空,最后把HashSet對象元素全部添加至List集合中,這樣就可以保證不出現重復元素。

Java8新特性stream去重

對于大數據,采用Stream相關函數去重是最簡單的了。Java8中Stream提供了對List 做簡單去重的處理,通過調用distinct方法,可以實現對類型Integer、Long、Char 等基本類型以及String類型的去重。需要注意的是,無法對自定義對象進行去重處理。

Lambda表達式去重

Lambda表達式是Java8中提供的一種新的特性,它支持JAVA也能進行簡單的“函數式編程”。利用Lambda表達式能很方便的對list對象進行去重,而且不會造成代碼入侵。不過,Lambda表達式只能出現在目標類型為函數式接口的上下文中。

你平時List集合去重,方式用對了嗎?

總結

以上是生活随笔為你收集整理的stream去重_重复数据如何处理?List集合去重的四种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。