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

jdk8兩個List取交集、差集、并集(不去重)、并集(去重)

這篇具有很好參考價值的文章主要介紹了jdk8兩個List取交集、差集、并集(不去重)、并集(去重)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

jdk8兩個List取交集、差集、并集(不去重)、并集(去重)

/**
     * 交集
     * @param list1
     * @param list2
     * @return
     */
    private static List<String> intersect(List<String> list1, List<String> list2) {
        List<String> intersect = list1.stream().filter(item -> list2.contains(item)).collect(Collectors.toList());
        return intersect;
    }

    /**
     * 差集(list1-list2)
     * @param list1
     * @param list2
     * @return
     */
    private static List<String> minus(List<String> list1, List<String> list2) {
        List<String> minus = list1.stream().filter(item -> !list2.contains(item)).collect(Collectors.toList());
        return minus;
    }

    /**
     * 并集(不去重)
     * @param list1
     * @param list2
     * @return
     */
    private static List<String> unionAll(List<String> list1, List<String> list2) {
        list1.addAll(list2);
        return list1;
    }

    /**
     * 并集(去重)
     * @param list1
     * @param list2
     * @return
     */
    private static List<String> union(List<String> list1, List<String> list2) {
        list1.addAll(list2);
        return list1.stream().distinct().collect(Collectors.toList());
    }

demo代碼:

public class TestSetOperation {

    public static void main(String[] args) {
        List<String> list1 = Arrays.asList("a","b","c","d");
        List<String> list2 = Arrays.asList("c","d","e","f");

        //交集
        List<String> intersect = intersect(list1, list2);
        System.out.println("---交集 intersection---");
        intersect.stream().forEach(System.out::println);

        //差集(list1-list2)
        List<String> minus = minus(list1, list2);
        System.out.println("---差集 minus(list1-list2)---");
        minus.stream().forEach(System.out::println);

        //差集(list2-list1)
        //List<String> minus2 = list2.stream().filter(item -> !list1.contains(item)).collect(Collectors.toList());
        List<String> minus2 = minus(list2,list1);
        System.out.println("---差集 minus(list2-list1)---");
        minus2.stream().forEach(System.out::println);

        //并集unionAll
        List<String> list3 = new ArrayList<String>(){{
            add("aa");
            add("bb");
            add("cc");
            add("dd");
        }};
        List<String> list4 = new ArrayList<String>(){{
            add("cc");
            add("dd");
            add("ee");
            add("ff");
        }};
        System.out.println("---并集 不去重---");
        List<String> unionAll = unionAll(list3,list4);
        unionAll.stream().forEachOrdered(System.out::println);

        //并集去重
        List<String> union = union(list3,list4);
        System.out.println("---并集 去重---");
        union.stream().forEachOrdered(System.out::println);
    }


    /**
     * 交集
     * @param list1
     * @param list2
     * @return
     */
    private static List<String> intersect(List<String> list1, List<String> list2) {
        List<String> intersect = list1.stream().filter(item -> list2.contains(item)).collect(Collectors.toList());
        return intersect;
    }

    /**
     * 差集(list1-list2)
     * @param list1
     * @param list2
     * @return
     */
    private static List<String> minus(List<String> list1, List<String> list2) {
        List<String> minus = list1.stream().filter(item -> !list2.contains(item)).collect(Collectors.toList());
        return minus;
    }

    /**
     * 并集(不去重)
     * @param list1
     * @param list2
     * @return
     */
    private static List<String> unionAll(List<String> list1, List<String> list2) {
        list1.addAll(list2);
        return list1;
    }

    /**
     * 并集(去重)
     * @param list1
     * @param list2
     * @return
     */
    private static List<String> union(List<String> list1, List<String> list2) {
        list1.addAll(list2);
        return list1.stream().distinct().collect(Collectors.toList());
    }
}

輸出結(jié)果:文章來源地址http://www.zghlxwxcb.cn/news/detail-550300.html

---交集 intersect---
c
d
---差集 minus(list1-list2)---
a
b
---差集 minus(list2-list1)---
e
f
---并集 不去重---
aa
bb
cc
dd
cc
dd
ee
ff
---并集 去重---
aa
bb
cc
dd
ee
ff

到了這里,關(guān)于jdk8兩個List取交集、差集、并集(不去重)、并集(去重)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • laravel 兩個集合取交集、并集、差集

    交集: 使用intersect()函數(shù),用于獲取兩個集合的交集: 并集:使用union()函數(shù),用于獲取兩個集合的并集: 差集:使用diff()函數(shù),用于獲取兩個集合的差集:

    2024年02月12日
    瀏覽(45)
  • php 兩個數(shù)組取交集、并集、差集

    php 兩個數(shù)組取交集、并集、差集 交集:array_intersect() 并集:array_merge() 差集:array_diff() laravel 兩個集合取交集、并集、差集 交集: 使用intersect()函數(shù),用于獲取兩個集合的交集: 并集:使用union()函數(shù),用于獲取兩個集合的并集: 差集:使用diff()函數(shù),用于獲取兩個集合的

    2024年02月12日
    瀏覽(21)
  • python 計算列表的交集,并集,差集

    如果是列表的話,先將列表轉(zhuǎn)為集合,使用集合去操作,返回的結(jié)果也為集合 比如兩個列表: 1. 并集,就是a和b的所有元素 2. 差集,b有,a沒有的元素 3. 交集,ab共有的元素 4. 對稱差集,a和b所有不屬于set(b) set(a)的集合

    2024年02月15日
    瀏覽(29)
  • go 計算map 差集、并集、交集

    原文鏈接: https://www.zhoubotong.site/post/95.html 某些業(yè)務(wù)場景可能需要實(shí)現(xiàn)兩個或者多個map 的交差并集,一下舉個簡單的demo, 思路其實(shí)并不復(fù)雜: 輸出: 代碼中有簡單說明,不難看出實(shí)現(xiàn)過程其實(shí)比較簡單。

    2023年04月23日
    瀏覽(35)
  • 【Java】求兩集合的交集、并集、差集

    1、removeAll方法:從list中刪除指定集合中包含的所有元素。 2、retainAll方法:從list中刪除指定集合中不包含的所有元素。 3、addAll方法:用來向Set集合添加另一個集合對象所包含的所有內(nèi)容。 參考鏈接:https://www.cnblogs.com/hxf-zb/p/16102135.html 利用集合的contains方法,來對比第二個

    2024年02月16日
    瀏覽(21)
  • Java 集合操作之交集、并集和差集

    在 Java 編程中,經(jīng)常需要對集合進(jìn)行一些操作,比如取兩個集合的交集、并集和差集。本文將介紹如何使用 Java 集合框架中的方法來實(shí)現(xiàn)這些集合操作,并通過源碼解析來深入了解其實(shí)現(xiàn)原理。 先上代碼 執(zhí)行結(jié)果 此處各操作會改動原始集合,所以此處的操作都是創(chuàng)建了一個

    2024年02月09日
    瀏覽(18)
  • 兩個list對象取合集、差集

    2024年01月17日
    瀏覽(12)
  • java 獲取兩個List集合的交集

    可以使用Java中的retainAll方法來獲取兩個List的交集: 假設(shè)有兩個List類型的集合list1和list2,代碼如下: 下面是獲取兩個集合的交集的代碼: 輸出結(jié)果為: 其中,retainAll方法會修改intersection集合,使其只包含兩個集合的交集。在這個例子中,intersection集合最初是包含list1集合的

    2024年02月11日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包