Java中List之間求交集的思路及代碼示例
問(wèn)題
在Java中需要保留已有List中在另外一個(gè)List中的數(shù)據(jù)。
解決思路
使用list類自帶的retainAll方法來(lái)求交集。
retainAll 是 Java 集合框架(Collection 接口)中定義的一個(gè)方法,用于僅保留當(dāng)前集合中與另一個(gè)集合共有的元素(即求交集),并移除所有不在指定集合中的元素。
java
import java.util.*;
public class RetainAllExample {
public static void main(String[] args) {
// 示例1:ArrayList 與 HashSet 求交集
List<String> list = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));
Set<String> set = new HashSet<>(Arrays.asList("B", "D", "E"));
boolean changed = list.retainAll(set);
System.out.println("是否改變:" + changed); // true
System.out.println("list 交集結(jié)果:" + list); // [B, D]
// 示例2:沒(méi)有共同元素
List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3));
List<Integer> others = Arrays.asList(4, 5, 6);
boolean changed2 = numbers.retainAll(others);
System.out.println("是否改變:" + changed2); // true
System.out.println("numbers 結(jié)果:" + numbers); // [](空集合)
// 示例3:沒(méi)有元素被移除
List<String> colors = new ArrayList<>(Arrays.asList("紅", "綠"));
List<String> keep = Arrays.asList("紅", "綠", "藍(lán)");
boolean changed3 = colors.retainAll(keep);
System.out.println("是否改變:" + changed3); // false
System.out.println("colors 結(jié)果:" + colors); // [紅, 綠](未變)
}
}
總結(jié)
到此這篇關(guān)于Java中List之間求交集的思路及代碼示例的文章就介紹到這了,更多相關(guān)Java List之間求交集內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot實(shí)現(xiàn)動(dòng)態(tài)加載外部Jar流程詳解
這篇文章主要介紹了SpringBoot動(dòng)態(tài)加載外部Jar的流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-05-05
SpringBoot實(shí)現(xiàn)全局異常的封裝和統(tǒng)一處理
在Spring Boot應(yīng)用中,全局異常的處理是一個(gè)非常重要的方面,本文主要為大家詳細(xì)介紹了如何在Spring Boot中進(jìn)行全局異常的封裝和統(tǒng)一處理,需要的可以參考下2023-12-12
解決Hibernate4執(zhí)行save()或update()無(wú)效問(wèn)題的方法
這篇文章主要為大家詳細(xì)介紹了解決Hibernate4執(zhí)行save()或update()無(wú)效問(wèn)題的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06
Mybatis開(kāi)發(fā)環(huán)境搭建實(shí)現(xiàn)數(shù)據(jù)的增刪改查功能
這篇文章主要介紹了 Mybatis開(kāi)發(fā)環(huán)境搭建實(shí)現(xiàn)數(shù)據(jù)的增刪改查功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
關(guān)于在使用Lombok時(shí)maven?install找不到符號(hào)問(wèn)題的解決辦法
Maven環(huán)境下開(kāi)發(fā)項(xiàng)目時(shí),尤其是涉及Lombok或其他依賴時(shí),IDE會(huì)在構(gòu)建和編譯過(guò)程中進(jìn)行注解處理,這篇文章主要介紹了關(guān)于在使用Lombok時(shí)maven?install找不到符號(hào)問(wèn)題的解決辦法,需要的朋友可以參考下2025-10-10
詳解AOP與Filter攔截請(qǐng)求打印日志實(shí)用例子
這篇文章主要介紹了詳解AOP與Filter攔截請(qǐng)求打印日志實(shí)用例子,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Freemarker如何生成樹(shù)形導(dǎo)航菜單(遞歸)
這篇文章主要為大家詳細(xì)介紹了Freemarker采用的的方法生成樹(shù)形導(dǎo)航菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09

