java判斷兩個(gè)List<String>集合是否存在交集三種方法
在 Java 中判斷兩個(gè) List<String> 集合是否存在交集,可以使用以下幾種方法:
方法一:使用 retainAll 方法
retainAll 方法保留集合中與另一個(gè)集合相同的元素,如果集合發(fā)生變化,則表示存在交集。
List<String> list1 = Arrays.asList("a", "b", "c");
List<String> list2 = Arrays.asList("c", "d", "e");
List<String> temp = new ArrayList<>(list1);
boolean hasIntersection = temp.retainAll(list2); // 返回 true 表示存在交集
System.out.println("是否存在交集:" + hasIntersection);
方法二:使用 Stream 和 anyMatch
使用 Java 8 的流操作更簡(jiǎn)潔。
List<String> list1 = Arrays.asList("a", "b", "c");
List<String> list2 = Arrays.asList("c", "d", "e");
boolean hasIntersection = list1.stream().anyMatch(list2::contains);
System.out.println("是否存在交集:" + hasIntersection);
方法三:使用 Set 提高性能
如果集合較大,使用 Set 會(huì)更高效。
List<String> list1 = Arrays.asList("a", "b", "c");
List<String> list2 = Arrays.asList("c", "d", "e");
Set<String> set = new HashSet<>(list1);
boolean hasIntersection = list2.stream().anyMatch(set::contains);
System.out.println("是否存在交集:" + hasIntersection);
選擇依據(jù)
- retainAll 方法 簡(jiǎn)單直接,但會(huì)修改原集合。
- Stream 是函數(shù)式編程風(fēng)格,代碼更簡(jiǎn)潔。
- 使用 Set 避免了線性查找,適合大規(guī)模數(shù)據(jù)集合。
總結(jié)
到此這篇關(guān)于java判斷兩個(gè)List<String>集合是否存在交集三種方法的文章就介紹到這了,更多相關(guān)java判斷List<String>集合交集內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java數(shù)據(jù)結(jié)構(gòu)與算法之noDups去除重復(fù)項(xiàng)算法示例
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之noDups去除重復(fù)項(xiàng)算法實(shí)現(xiàn)技巧,程序代碼非常簡(jiǎn)單,關(guān)鍵在于循環(huán)與判定,需要的朋友可以參考下2016-08-08
SpringBoot MainApplication類文件的位置詳解
這篇文章主要介紹了SpringBoot MainApplication類文件的位置詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Spring Kafka中@KafkaListener注解的參數(shù)與使用小結(jié)
@KafkaListener注解為開發(fā)者提供了一種聲明式的方式來定義消息監(jiān)聽器,本文主要介紹了Spring Kafka中@KafkaListener注解的參數(shù)與使用小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
Java 8中字符串拼接新姿勢(shì)StringJoiner詳解
在本篇文章里小編給大家整理了關(guān)于Java 8中字符串拼接新姿勢(shì)StringJoiner的詳解內(nèi)容,需要的朋友們參考下。2019-09-09
Lombok注解之@SuperBuilder--解決無法builder父類屬性問題
這篇文章主要介紹了Lombok注解之@SuperBuilder--解決無法builder父類屬性問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09

