Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 两个list取交集

作者:浪推晚风   发布日期:2026-07-26   浏览:102

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

public class ListIntersectionExample {
    public static void main(String[] args) {
        // 创建两个列表
        List<Integer> list1 = new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);

        List<Integer> list2 = new ArrayList<>();
        list2.add(3);
        list2.add(4);
        list2.add(5);
        list2.add(6);

        // 使用HashSet取交集
        HashSet<Integer> set1 = new HashSet<>(list1);
        set1.retainAll(new HashSet<>(list2));

        // 将交集结果转换为List
        List<Integer> intersection = new ArrayList<>(set1);

        // 输出交集结果
        System.out.println("交集: " + intersection);
    }
}

解释说明:

  1. 创建两个列表:我们首先创建了两个 ArrayList,分别命名为 list1list2,并添加了一些整数元素。
  2. 使用 HashSet 取交集:为了高效地取交集,我们将 list1 转换为一个 HashSet,然后调用 retainAll 方法,并传入另一个 HashSet(由 list2 转换而来)。retainAll 方法会保留集合中与指定集合相同的元素,即求交集。
  3. 将交集结果转换为 List:由于 retainAll 操作后,set1 中只保留了交集元素,我们将它再转换回 ArrayList
  4. 输出交集结果:最后,我们打印出交集的结果。

这个方法利用了 HashSet 的高效性来处理交集操作。

上一篇:java8 list去重

下一篇:java 分页

大家都在看

java url decode

java判断是windows还是linux

java原始数据类型

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java常用的设计模式有哪些

java list 查找

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站