MM131美女爱做视频在线看_性强烈的欧美三级视频_男女性潮高清免费网站_日日摸日日碰夜夜爽歪歪

IT培訓(xùn)-高端面授IT培訓(xùn)機(jī)構(gòu)
云和教育:云和數(shù)據(jù)集團(tuán)高端IT職業(yè)教育品牌
  • 國家級
    全民數(shù)字素養(yǎng)與技能培訓(xùn)基地
  • 河南省
    第一批產(chǎn)教融合型企業(yè)建設(shè)培育單位
  • 鄭州市
    數(shù)字技能人才(碼農(nóng))培養(yǎng)評價聯(lián)盟

JAVA開發(fā)技巧:重復(fù)數(shù)據(jù)如何處理?List集合去重的四種方式

  • 發(fā)布時間:
    2019-04-09
  • 版權(quán)所有:
    云和教育
  • 分享:

List集合在日常Java開發(fā)中是必不可少的,只要懂得運用各種各樣的方法就可以大大提高我們開發(fā)的效率,適當(dāng)活用各種方法才會使我們開發(fā)事半功倍。但是,有時候難免會遇到集合里的數(shù)據(jù)是重復(fù)的,需要進(jìn)行去除。今天,就給大家講解一下JAVA開發(fā)List集合去重的的四種方式。

配圖1 Java開發(fā)List集合去重的的四種方式.jpg

1、雙重for循環(huán)去重

使用兩個for循環(huán)遍歷集合所有元素,然后進(jìn)行判斷是否有相同元素。兩兩比較如果相等的話就刪除第二個。例如:1 1 1 3 2 1 2 4,先讓第一個1 即arr[0]與后面的一個個比較,如果后面的值等于arr[0] 刪除后面的值,第一次結(jié)束后的結(jié)果是 1 3 2 2 4 ,刪除了后面所有的1 。

配圖2 Java開發(fā)List集合去重-雙重for循環(huán)去重.jpg

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

2、HashSet去重

配圖3 Java開發(fā)List集合去重-HashSet去重.jpg

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

3、Java8新特性stream去重

配圖4 Java8新特性stream去重.jpg

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

4、Lambda表達(dá)式去重

配圖5 Lambda表達(dá)式去重.jpg

lLambda表達(dá)式是Java8中提供的一種新的特性,它支持JAVA也能進(jìn)行簡單的“函數(shù)式編程”。利用Lambda表達(dá)式能很方便的對list對象進(jìn)行去重,而且不會造成代碼入侵。不過,Lambda表達(dá)式只能出現(xiàn)在目標(biāo)類型為函數(shù)式接口的上下文中。你平時List集合去重,方式用對了嗎?