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

【Java】Java合并兩個(gè)List后并去掉重復(fù)項(xiàng)的幾種做法

這篇具有很好參考價(jià)值的文章主要介紹了【Java】Java合并兩個(gè)List后并去掉重復(fù)項(xiàng)的幾種做法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

工作中很多時(shí)候需要用到合并兩個(gè)List并去除其中的重復(fù)內(nèi)容,這是一個(gè)很簡(jiǎn)單的操作,實(shí)現(xiàn)的方法也多種多樣。

下面以具體實(shí)例展示給大家~

一、使用stream方式進(jìn)行去重(需要jdk1.8及以上)

String[] arr1 = {"a", "b", "c", "d", "e", "f"};
List<String> listA = new ArrayList<>(Arrays.asList(arr1));
 
String[] arr2 = {"d", "e", "f", "g", "h"};
List<String> listB = new ArrayList<>(Arrays.asList(arr2));

List<String> collect = Stream.of(listA, listB)
                .flatMap(Collection::stream)
                .distinct()
                .collect(Collectors.toList());

可以很清楚的看出通過Stream完成的代碼看上去更加簡(jiǎn)潔流暢

二、使用HashSet集合的方式進(jìn)行去重

String[] arr1 = {"a", "b", "c", "d", "e", "f"};
List<String> listA = new ArrayList<>(Arrays.asList(arr1));

String[] arr2 = {"d", "e", "f", "g", "h"};
 List<String> listB = new ArrayList<>(Arrays.asList(arr2));

Set<String> set = new HashSet<>(listA);
set.addAll(listB);
List<String> list = new ArrayList<>(set);
System.out.println(list);

這樣做后的list就是合并并去重后的結(jié)果文章來源地址http://www.zghlxwxcb.cn/news/detail-516316.html

到了這里,關(guān)于【Java】Java合并兩個(gè)List后并去掉重復(fù)項(xiàng)的幾種做法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【Leetcode -21.合并兩個(gè)有序鏈表 -83.刪除排序鏈表中的重復(fù)元素】

    【Leetcode -21.合并兩個(gè)有序鏈表 -83.刪除排序鏈表中的重復(fù)元素】

    題目:將兩個(gè)升序鏈表合并為一個(gè)新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。 示例 1: 輸入:l1 = [1, 2, 4], l2 = [1, 3, 4] 輸出:[1, 1, 2, 3, 4, 4] 示例 2: 輸入:l1 = [], l2 = [] 輸出:[] 示例 3: 輸入:l1 = [], l2 = [0] 輸出:[0] 我們的思路是,先定義

    2023年04月24日
    瀏覽(30)
  • Stream流 - 兩個(gè)list集合對(duì)象屬性的合并、對(duì)象屬性值運(yùn)算

    Stream流 - 兩個(gè)list集合對(duì)象屬性的合并、對(duì)象屬性值運(yùn)算

    ?? 合并兩個(gè) list<map>, 并將 userId 相同的所有屬性合并到一個(gè) map 中 list1中對(duì)象的屬性:userId、userName list2中對(duì)象的屬性:userId、gender、age ?? 最終總集合中對(duì)象的屬性:userId、userName、gender、age 運(yùn)行結(jié)果: 結(jié)果可見,userId 相同的所有屬性合并到集合 list1中。 ?? 合并兩個(gè)

    2024年02月06日
    瀏覽(307)
  • 圖靈日記之Leetcode刪除有序數(shù)組中的重復(fù)項(xiàng)&&合并兩個(gè)有序數(shù)組&&移除鏈表元素

    給你一個(gè) 非嚴(yán)格遞增排列 的數(shù)組 nums ,請(qǐng)你 原地 刪除重復(fù)出現(xiàn)的元素,使每個(gè)元素 只出現(xiàn)一次 ,返回刪除后數(shù)組的新長(zhǎng)度。元素的 相對(duì)順序 應(yīng)該保持 一致 。然后返回 nums 中唯一元素的個(gè)數(shù)。 考慮 nums 的唯一元素的數(shù)量為 k ,你需要做以下事情確保你的題解可以被通過

    2024年02月04日
    瀏覽(21)
  • java 判斷兩個(gè)List是否包含 判斷兩個(gè)list相等

    java 判斷兩個(gè)List是否包含 判斷兩個(gè)list相等 https://blog.51cto.com/u_12855/7333853 1、直接使用equals()比較 眾所周知,兩個(gè)列表具有完全相同的元素并且具有完全相同的順序時(shí),它們是相等的。因此, 如果我們業(yè)務(wù)要求兩個(gè)list順序一致,可以使用equals()方法進(jìn)行相等性檢查: 即使

    2024年02月04日
    瀏覽(133)
  • 2.(1)將兩個(gè)遞增的有序鏈表合并為一個(gè)遞增的有序鏈表。要求結(jié)果鏈表仍使用原來的兩個(gè)鏈表的存儲(chǔ)空間,不另外占用其他的存儲(chǔ)空間。表中不允許有重復(fù)的數(shù)據(jù)

    2.(1)將兩個(gè)遞增的有序鏈表合并為一個(gè)遞增的有序鏈表。要求結(jié)果鏈表仍使用原來的兩個(gè)鏈表的存儲(chǔ)空間,不另外占用其他的存儲(chǔ)空間。表中不允許有重復(fù)的數(shù)據(jù)

    代碼實(shí)現(xiàn)的思路: 因?yàn)橐獙蓚€(gè)有序單鏈表合并為一個(gè)遞增的有序單鏈表,所以我們建立了三個(gè)單鏈表La,Lb,Lc,但是要求結(jié)果鏈表仍然使用原來兩個(gè)鏈表的存儲(chǔ)空間,所以我們用La的頭結(jié)點(diǎn)作為L(zhǎng)c的頭結(jié)點(diǎn),這樣直接操作單鏈表后,輸出La單鏈表和Lc單鏈表結(jié)果是一樣的。然

    2024年02月06日
    瀏覽(32)
  • java 合并兩個(gè)Map

    在開發(fā)中,有時(shí)需要將多個(gè)Map合并成一個(gè)Map,接下來就舉例說明: 我的使用場(chǎng)景:以map2中已經(jīng)存在的key的值為準(zhǔn) 把需要的字段從一個(gè)Map中一個(gè)個(gè)set到另一個(gè)Map中 輸出結(jié)果為: 這個(gè)結(jié)果不是我想要的! putAll() 方法 輸出結(jié)果為: 這個(gè)結(jié)果不是我想要的! 通過java8的方式 輸出

    2024年02月11日
    瀏覽(85)
  • Java中,合并兩個(gè)Map

    在Java中,合并兩個(gè)Map可以使用putAll()方法,但是默認(rèn)情況下,如果被合并的Map中有null值,它們會(huì)被丟棄。 如果想要保留null值,可以使用下面的代碼: 這里將兩個(gè)Map合并成一個(gè)新的Map,如果被合并的Map中的value有null,會(huì)被保留在新的Map中。 示例: 輸出結(jié)果中,被合并的Map中

    2024年02月11日
    瀏覽(80)
  • 數(shù)據(jù)結(jié)構(gòu)2.2,將兩個(gè)非遞減的有序鏈表合并為一個(gè)非遞增的有序鏈表,要求結(jié)果鏈表仍使用原來兩個(gè)鏈表的存儲(chǔ)空間,不占用其他的存儲(chǔ)空間。表中允許有重復(fù)的數(shù)據(jù)。

    數(shù)據(jù)結(jié)構(gòu)2.2,將兩個(gè)非遞減的有序鏈表合并為一個(gè)非遞增的有序鏈表,要求結(jié)果鏈表仍使用原來兩個(gè)鏈表的存儲(chǔ)空間,不占用其他的存儲(chǔ)空間。表中允許有重復(fù)的數(shù)據(jù)。

    大概思路:1.先寫出建立鏈表的函數(shù)(creatlist):分配頭節(jié)點(diǎn),尾指針置空。 2.寫出插入節(jié)點(diǎn)的代碼函數(shù):申請(qǐng)一片空間存放要插入的節(jié)點(diǎn),把新插入的節(jié)點(diǎn)置空,令指向鏈表的頭節(jié)點(diǎn)的下一個(gè)指針指向該節(jié)點(diǎn),在把該指針指向新插入的節(jié)點(diǎn)。用if函數(shù)寫出當(dāng)輸入的指小于零時(shí)

    2024年02月05日
    瀏覽(69)
  • Matlab | 找出數(shù)組/向量中的重復(fù)項(xiàng)的索引

    Matlab | 找出數(shù)組/向量中的重復(fù)項(xiàng)的索引

    輸入一個(gè)數(shù)組,里面含有重復(fù)項(xiàng),想要將其重復(fù)的項(xiàng)的序號(hào)指示出來。 unique()函數(shù)可以去除數(shù)組的重復(fù)項(xiàng),并且返回索引。我們可以利用這個(gè)返回的索引,進(jìn)而找出原數(shù)組中重復(fù)出現(xiàn)的位置。 貼了兩份代碼,第一份輸出形式數(shù)組,第二份輸出形式是元胞。

    2024年02月11日
    瀏覽(24)
  • Java 多個(gè)List合并

    多個(gè)同類型集合合并,可以使用可變參數(shù),定義一個(gè)專門的方法,參考代碼如下: 參考代碼運(yùn)行結(jié)果如下:

    2024年02月15日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包