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

Java判斷兩個集合是否具有交集以及如何獲得交集

這篇具有很好參考價值的文章主要介紹了Java判斷兩個集合是否具有交集以及如何獲得交集。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、Java判斷兩個集合是否具有交集

1、Collections.disjoint

全限定名為java.util.Collections,在倆個集合沒有交集的時候會返回true,否則返回false。

比如:

List<String> firstList = Arrays.asList("teacher", "worker", "student");
List<String> secondList = Arrays.asList("user", "admin");

if (Collections.disjoint(firstList, secondList)) {
    System.out.println("Collections.disjoint方法:firstList、secondList沒有交集");
}

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

2、CollectionUtils.containsAny

全限定名為:org.apache.commons.collections.CollectionUtils,兩個集合有交集會返回true,否則會返回false,跟Collections.disjoint相反。

例如:

List<String> firstList = Arrays.asList("teacher", "worker", "student");
List<String> secondList = Arrays.asList("user", "admin");

if (CollectionUtils.containsAny(firstList, secondList)) {
    System.out.println("CollectionUtils.containsAny方法:firstList、secondList有交集");
} else if (!CollectionUtils.containsAny(firstList, secondList)) {
    System.out.println("CollectionUtils.containsAny方法:firstList、secondList沒有交集");
}

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

3、CollectionUtil.containsAny

全限定名為:cn.hutool.core.collection.CollectionUtil,兩個集合有交集會返回true,否則會返回false,跟Collections.disjoint相反。

比如:

 List<String> firstList = Arrays.asList("teacher", "worker", "student");
 List<String> secondList = Arrays.asList("user", "admin");

 if (CollectionUtil.containsAny(firstList, secondList)) {
     System.out.println("CollectionUtil.containsAny方法:firstList、secondList有交集");
 } else if (!CollectionUtil.containsAny(firstList, secondList)) {
     System.out.println("CollectionUtil.containsAny方法:firstList、secondList沒有交集");
 }

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

4、使用Java8的新特性

Java8中有兩種方式可以得到兩個集合是否有交集,如下:

List<String> firstList = Arrays.asList("teacher", "worker", "student");
List<String> secondList = Arrays.asList("user", "admin");

//方式一
//List<String> resultList = firstList.stream().filter((firstItem) -> secondList.contains(firstItem)).collect(Collectors.toList());

//方式二
List<String> resultList = firstList.stream().filter(secondList::contains).collect(Collectors.toList());
if (resultList != null && resultList.size() > 0) {
    System.out.println("firstList、secondList有交集");
} else {
    System.out.println("firstList、secondList沒有交集");
}

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

二、獲得兩個集合的交集

1、使用for循環(huán)

比如:

public static void main(String[] args) {
    List<String> firstList = Arrays.asList("teacher", "worker", "student", "driver");
    List<String> secondList = Arrays.asList("user", "admin", "student", "driver");

    List<String> resultList = new ArrayList<>();
    for (String item : firstList) {
        if (secondList.contains(item)) {
            resultList.add(item);
        }
    }
    System.out.println(resultList);
}

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

要是兩個集合中存在重復元素,這樣得到的結果是沒有去重的,如果是:
Java判斷兩個集合是否具有交集以及如何獲得交集

結果是:
Java判斷兩個集合是否具有交集以及如何獲得交集

如果要去重可以加上
Java判斷兩個集合是否具有交集以及如何獲得交集

最終的代碼:

public static void main(String[] args) {
    List<String> firstList = Arrays.asList("teacher", "worker", "student", "driver", "driver");
    List<String> secondList = Arrays.asList("user", "admin", "student", "driver", "driver");

    List<String> resultList = new ArrayList<>();
    for (String item : firstList) {
        if (secondList.contains(item) && !resultList.contains(item)) {
            resultList.add(item);
        }
    }
    System.out.println(resultList);
}

這樣得到的結果就是去重的了
Java判斷兩個集合是否具有交集以及如何獲得交集

也可以使用HashSet去重
Java判斷兩個集合是否具有交集以及如何獲得交集

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

2、使用Java8的forEach

比如:

public static void main(String[] args) {
    List<String> firstList = Arrays.asList("teacher", "worker", "student", "driver");
    List<String> secondList = Arrays.asList("user", "admin", "student", "driver");

    List<String> resultList = new ArrayList<>();
    if (firstList == null) {
        throw new RuntimeException("firstList為空!");
    }
    
    firstList.forEach((firstItem) -> {
        if (secondList.contains(firstItem)) {
            resultList.add(firstItem);
        }
    });
    System.out.println(resultList);
}

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

假如兩個集合有相同的元素
Java判斷兩個集合是否具有交集以及如何獲得交集

和“二.1”一樣,這樣也是不能去重的
Java判斷兩個集合是否具有交集以及如何獲得交集

做法也是和上面那樣
Java判斷兩個集合是否具有交集以及如何獲得交集

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

或者用HashSet,也和“二.1”一樣。

3、使用Java8的新特性

和“一.4”那樣,有兩種方式可以得到兩集合的交集。

代碼如下:

public static void main(String[] args) {
    List<String> firstList = Arrays.asList("teacher", "worker", "student");
    List<String> secondList = Arrays.asList("user", "admin", "student");

    //方式一
    List<String> resultList = firstList.stream().filter((firstItem) -> secondList.contains(firstItem)).collect(Collectors.toList());

    //方式二
    //List<String> resultList = firstList.stream().filter(secondList::contains).collect(Collectors.toList());
    System.out.println(resultList);
}

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

和“二.1”、“二.2”那樣也是不能去除重復元素的
Java判斷兩個集合是否具有交集以及如何獲得交集

結果:
Java判斷兩個集合是否具有交集以及如何獲得交集

加上distinct就可以去重了
Java判斷兩個集合是否具有交集以及如何獲得交集
結果:
Java判斷兩個集合是否具有交集以及如何獲得交集文章來源地址http://www.zghlxwxcb.cn/news/detail-462652.html

到了這里,關于Java判斷兩個集合是否具有交集以及如何獲得交集的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • Java使用不同方式獲取兩個集合List的交集、補集、并集(相加)、差集(相減)

    Java使用不同方式獲取兩個集合List的交集、補集、并集(相加)、差集(相減)

    首先知道幾個單詞的意思: 并集 = union 交集 = intersection 補集 = complement 析取 = disjunction 減去 = subtract 對于兩個給定集合A、B,由兩個集合所有元素構成的集合,叫做A和B的并集。 記作:AUB 讀作“A并B” 例:{3,5}U{2,3,4,6}= {2,3,4,5,6} 對于兩個給定集合A、B,由屬于A又屬于B的所有元

    2024年01月22日
    瀏覽(92)
  • java 判斷兩個List是否包含 判斷兩個list相等

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

    2024年02月04日
    瀏覽(132)
  • 前端基礎面試題:如何判斷對象是否具有某屬性?遍歷數組的方法有哪些?

    前端基礎面試題:如何判斷對象是否具有某屬性?遍歷數組的方法有哪些?

    一、如何判斷對象具有某屬性? 如: let obj={name:\\\'zhangsan\\\',age:21} 有以下方法 ( property 為屬性名的變量,實際上是key,鍵名): 1. property in obj 效果如圖: in 運算符 2. Reflect.has(obj, property) 效果如圖: 關于 Reflect: ① 它是JS的一個內置對象,無構造函數,可以用它遍歷對象的key,如

    2023年04月08日
    瀏覽(97)
  • Js如何判斷兩個數組是否相等?

    Js如何判斷兩個數組是否相等?

    日常開發(fā),時不時會遇到需要判定2個數組是否相等的情況,需要實現考慮的場景有: 先判斷長度,長度不等必然不等 元素位置 其他情況考慮 \\\'1\\\' 和 1 (Object的key是字符串, Map的key沒有限制) NaN null 和 undefined 數組自帶的方法,比較適合的有: every、some、filter、findIndex 。 這種

    2024年02月22日
    瀏覽(93)
  • 如何判斷兩個隨機變量是否獨立,同分布

    如何判斷兩個隨機變量是否獨立,同分布

    獨立兩個判斷條件 1,設(x,y)的密度函數為f(x,y),其定義域是矩形區(qū)域。聯合密度函數的區(qū)域必須為矩形區(qū)域,這很重要。可以證明一波,若x的范圍為(0,1),y的范圍為(3,5)如果他們相互獨立,那么組成的聯合密度函數,每一個x,都可以對應所有的y,所以組成的范圍為矩

    2024年02月11日
    瀏覽(93)
  • Go語言如何判斷兩個對象是否相等

    在編程中,判斷兩個對象是否相等是一項常見的任務,同時判斷對象是否相等在很多情況下都非常重要,例如: 單元測試 :編寫單元測試時,經常需要驗證函數的輸出是否符合預期,這涉及到比較對象是否相等。 數據結構操作 :在使用 map 等數據結構時,可能需要判斷兩個對

    2024年02月07日
    瀏覽(646)
  • 記錄--如何判斷兩個數組的內容是否相等

    記錄--如何判斷兩個數組的內容是否相等

    給定兩個數組,判斷兩數組內容是否相等。 不使用排序 不考慮元素位置 例: 思考幾秒:有了???? 直接遍歷第一個數組,并判斷是否存在于在第二個數組中 求差集, 如果差集數組有長度,也說明兩數組不等(個人感覺比上面的麻煩就不舉例了) 細心的小伙伴就會發(fā)現:N

    2024年02月08日
    瀏覽(847)
  • laravel 兩個集合取交集、并集、差集

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

    2024年02月12日
    瀏覽(44)
  • 在JS中如何判斷兩個對象是否相等

    在JavaScript中,判斷兩個對象是否相等有多種方法,取決于你對 相等 的定義以及對象屬性的類型。以下是幾種常見的方法: ? 1. 嚴格相等運算符 (===) 使用 === 運算符可以比較兩個對象是否引用同一個對象。如果兩個變量引用了同一個對象,則它們是相等的,否則它們是不相等

    2024年02月03日
    瀏覽(92)
  • 【Java SE】判斷兩個文件內容是否相同的多種方法

    逐字節(jié)比較文件內容。這種方法適用于小文件,但對于大文件會比較耗時。 計算文件的哈希值(如 MD5、SHA-256 等),然后比較兩個文件的哈希值。如果哈希值相同,則可以認為文件內容相同。這種方法適用于大文件,因為只需要比較哈希值而不是整個文件內容。 通過使用

    2024年02月07日
    瀏覽(99)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包