首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java中两个列表的交集

在Java中,可以使用集合类来求两个列表的交集。常用的集合类有ArrayList和HashSet。

  1. ArrayList:ArrayList是Java中的动态数组,可以存储任意类型的对象。可以使用ArrayList的retainAll()方法来求两个列表的交集。该方法会修改调用它的ArrayList,使其只保留与指定集合相同的元素。

示例代码:

代码语言:java
复制
ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
ArrayList<Integer> list2 = new ArrayList<>(Arrays.asList(4, 5, 6, 7, 8));

list1.retainAll(list2);

System.out.println("交集:" + list1);

输出结果:

代码语言:txt
复制
交集:[4, 5]

推荐的腾讯云相关产品:腾讯云云数据库 TencentDB,提供高性能、可扩展的数据库服务,适用于各种应用场景。

产品介绍链接地址:腾讯云云数据库 TencentDB

  1. HashSet:HashSet是Java中的集合类,它实现了Set接口,不允许有重复元素。可以使用HashSet的retainAll()方法来求两个列表的交集。该方法会修改调用它的HashSet,使其只保留与指定集合相同的元素。

示例代码:

代码语言:java
复制
HashSet<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
HashSet<Integer> set2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));

set1.retainAll(set2);

System.out.println("交集:" + set1);

输出结果:

代码语言:txt
复制
交集:[4, 5]

推荐的腾讯云相关产品:腾讯云云数据库 TencentDB,提供高性能、可扩展的数据库服务,适用于各种应用场景。

产品介绍链接地址:腾讯云云数据库 TencentDB

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 一文读懂比BitMap有更好性能的Roaring Bitmap

    1.什么是bitmap?为什么使用bitmap?Roaring bitmap与其他bitmap编码技术相比有哪些优势?2.Roaring bitmap将32位无符号整数按照高16位分容器,即最多可能有216=65536个容器(container),存储数据时,按照数据的高16位找到container(找不到就会新建一个),再将低16位放入container中。高16位又称为共享有效位,它用于索引应该到哪个容器中查找对应的数值,属于roaring bitmap的一级索引。3.Roaring bitmaps以紧凑高效的两级索引数据结构存储32位整数。高密度块使用位图存储;稀疏块使用16位整数的压缩数组。当一个块包含不超过4096个整数时,我们使用一个排好序的16位整数数组。当有超过4096个整数时,我们使用2^16 位的位图。为什么按4096作为阀值呢?仅仅是因为当数据块中的整数数量超过这个值之后,bitmap将比数组的内存使用率更高。

    02
    领券