国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

list刪除重復(fù)元素幾種思路

這篇具有很好參考價值的文章主要介紹了list刪除重復(fù)元素幾種思路。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

list刪除重復(fù)元素幾種思路

hashset

        List<String> list2 = new ArrayList<>();
        list2.add("a");
        list2.add("b");
        list2.add("a");
        Set<String> set = new HashSet<>(list2);
        for (String item : set) {
            log.info("[{}]",item);
        }

list刪除重復(fù)元素幾種思路,問題匯總,list,python,數(shù)據(jù)結(jié)構(gòu)

23:29:46.093 [main] INFO com.geekmice.sbeasypoi.service.impl.ds - [a]
23:29:46.105 [main] INFO com.geekmice.sbeasypoi.service.impl.ds - [b]

Stream流

distinct()是Java 8 中 Stream 提供的方法,返回的是由該流中不同元素組成的流。distinct()使用 hashCode() 和 eqauls() 方法來獲取不同的元素。

因此,需要去重的類必須實現(xiàn) hashCode() 和 equals() 方法。換句話講,我們可以通過重寫定制的 hashCode() 和 equals() 方法來達(dá)到某些特殊需求的去重。

 List<String> list2 = new ArrayList<>();
        list2.add("a");
        list2.add("b");
        list2.add("a");
 list2=list2.stream().distinct().collect(Collectors.toList());
 for (String item : list2) {
     log.info("元素:[{}]",item);
 }
23:31:49.434 [main] INFO com.geekmice.sbeasypoi.service.impl.ds - 元素:[a]
23:31:49.444 [main] INFO com.geekmice.sbeasypoi.service.impl.ds - 元素:[b]

list刪除重復(fù)元素幾種思路,問題匯總,list,python,數(shù)據(jù)結(jié)構(gòu)

刪除所有重復(fù)元素

思想:其實就是獲取非重復(fù)元素,將所有元素劃分為重復(fù)元素和正常元素,用兩個標(biāo)志位說明,1表示正常元素,超過1
的都是累加出來,

 List<String> list2 = new ArrayList<>();
        list2.add("a");
        list2.add("b");
        list2.add("a");
        Map<String, Integer> cachedMap = new HashMap<>(16);
        for (String item : list2) {
            Integer count = cachedMap.get(item);
            cachedMap.put(item, Objects.isNull(count) ? 0 : count + 1);
        }
        List<String> cachedList = new ArrayList(16);
        for (Map.Entry<String, Integer> integerEntry : cachedMap.entrySet()) {
            if (integerEntry.getValue() != 1) {
                cachedList.add(integerEntry.getKey());
            }
        }
        for (String content : cachedList) {
            log.info("非重復(fù):[{}]", content);
        }
23:38:59.454 [main] INFO com.geekmice.sbeasypoi.service.impl.ds - 非重復(fù):[b]

list刪除重復(fù)元素幾種思路,問題匯總,list,python,數(shù)據(jù)結(jié)構(gòu)文章來源地址http://www.zghlxwxcb.cn/news/detail-629439.html

到了這里,關(guān)于list刪除重復(fù)元素幾種思路的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java合并兩個List并去掉重復(fù)項的幾種做法

    一、前言 工作中很多時候需要用到合并兩個List并去除其中的重復(fù)內(nèi)容,這是一個很簡單的操作,實現(xiàn)的方法也多種多樣,請繼續(xù)往下看 二、使用stream方式進(jìn)行去重(需要jdk1.8及以上) 可以很清楚的看出通過Stream完成的代碼看上去更加簡潔流暢? 三、使用HashSet集合的方式進(jìn)行去重

    2024年02月11日
    瀏覽(28)
  • 3種方法,用Java找出兩個List中的重復(fù)元素

    本文分享自華為云社區(qū)《如何用Java找出兩個List中的重復(fù)元素,讀這一篇就夠了》,作者: 努力的阿飛。 在Java編程中,我們經(jīng)常需要找出兩個列表(List)中的重復(fù)元素。在本文中,我們將探討三種方法來實現(xiàn)這一目標(biāo)。 Java中的HashSet是一個不允許有重復(fù)元素的集合。我們可

    2024年02月08日
    瀏覽(24)
  • leetcode-刪除排序鏈表中的重復(fù)元素

    83. 刪除排序鏈表中的重復(fù)元素 題解: 要刪除一個已排序鏈表中的所有重復(fù)元素,從而使每個元素只出現(xiàn)一次,我們可以使用一個指針來遍歷這個鏈表,同時比較當(dāng)前節(jié)點和它下一個節(jié)點的值。如果它們相等,我們就刪除下一個節(jié)點,如果不相等,我們就移動指針。 注:本題

    2024年02月02日
    瀏覽(22)
  • LeetCode - #83 刪除排序鏈表中的重復(fù)元素

    LeetCode - #83 刪除排序鏈表中的重復(fù)元素

    我們社區(qū)陸續(xù)會將顧毅( Netflix 增長黑客,《iOS 面試之道》作者,ACE 職業(yè)健身教練。 )的 Swift 算法題題解整理為文字版以方便大家學(xué)習(xí)與閱讀。 LeetCode 算法到目前我們已經(jīng)更新了 82 期,我們會保持更新時間和進(jìn)度( 周一、周三、周五早上 9:00 發(fā)布 ),每期的內(nèi)容不多,

    2024年02月10日
    瀏覽(22)
  • 【LeetCode】83. 刪除排序鏈表中的重復(fù)元素

    【LeetCode】83. 刪除排序鏈表中的重復(fù)元素

    思路 由于給定的鏈表是排好序的,因此重復(fù)的元素在鏈表中出現(xiàn)的位置是連續(xù)的,因此我們只需要對鏈表進(jìn)行一次遍歷,就可以刪除重復(fù)的元素。 從指針 cur 指向鏈表的頭節(jié)點,隨后開始對鏈表進(jìn)行遍歷。如果當(dāng)前 cur 與 cur.next 對應(yīng)的元素相同,那么我們就將 cur.next 從鏈表

    2024年02月09日
    瀏覽(30)
  • 82. 刪除排序鏈表中的重復(fù)元素 II

    82. 刪除排序鏈表中的重復(fù)元素 II

    給定一個已排序的鏈表的頭? head ?,? 刪除原始鏈表中所有重復(fù)數(shù)字的節(jié)點,只留下不同的數(shù)字 ?。返回? 已排序的鏈表 ?。 示例 1: 示例 2: 提示: 鏈表中節(jié)點數(shù)目在范圍? [0, 300] ?內(nèi) -100 = Node.val = 100 題目數(shù)據(jù)保證鏈表已經(jīng)按升序? 排列 題解: code:

    2024年02月01日
    瀏覽(17)
  • 刪除有序鏈表中重復(fù)的元素-II(鏈表)

    刪除有序鏈表中重復(fù)的元素-II(鏈表)

    烏!蒙!山!連!著!山!外!山!? 雙指針,slow和fast,并且增加標(biāo)記flag初始為1。 如果slow指向節(jié)點值 等于 fast指向節(jié)點值,fast向后走,flag置為0; 如果slow指向節(jié)點值 不等于 fast指向節(jié)點值,觀察 flag的值若為0 ,slow指向fast,fast向后走,flag置為1,然后continue;觀察 flag的

    2024年02月11日
    瀏覽(20)
  • 【Java】Java合并兩個List后并去掉重復(fù)項的幾種做法

    工作中很多時候需要用到合并兩個List并去除其中的重復(fù)內(nèi)容,這是一個很簡單的操作,實現(xiàn)的方法也多種多樣。 下面以具體實例展示給大家~ 可以很清楚的看出通過Stream完成的代碼看上去更加簡潔流暢 這樣做后的list就是合并并去重后的結(jié)果

    2024年02月11日
    瀏覽(23)
  • java List 刪除 元素

    1.for循環(huán)倒序刪除 2.迭代器刪除 3.lamda stream流過濾

    2024年02月15日
    瀏覽(19)
  • LeetCode.82 刪除排序鏈表中的重復(fù)元素 二

    LeetCode.82 刪除排序鏈表中的重復(fù)元素 二 題目 思路: 1,提供的是無空頭鏈表,需要加一個頭結(jié)點來統(tǒng)一操作 2,使用三個工作指針 r:記錄前一個節(jié)點,方便刪除操作 p:記錄此基準(zhǔn)節(jié)點 q:前進(jìn)節(jié)點 兩種情況: 一 如果p與q不同,則p,q,r,均前進(jìn); 二 如果p與q相同,則q前進(jìn),

    2024年01月19日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包