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);
// 计算交集
List<Integer> intersection = getIntersection(list1, list2);
// 打印交集结果
System.out.println("交集: " + intersection);
}
// 获取两个列表的交集
public static List<Integer> getIntersection(List<Integer> list1, List<Integer> list2) {
HashSet<Integer> set1 = new HashSet<>(list1);
HashSet<Integer> set2 = new HashSet<>(list2);
// 保留同时存在于set1和set2中的元素
set1.retainAll(set2);
// 将交集转换为列表并返回
return new ArrayList<>(set1);
}
}
ArrayList
创建了两个整数列表 list1
和 list2
,并分别添加了一些元素。getIntersection
方法来计算两个列表的交集。该方法首先将两个列表转换为 HashSet
,以便利用集合的特性快速找到交集。retainAll
方法会修改调用它的集合,使其只保留那些也存在于参数集合中的元素。这样就可以得到两个集合的交集。HashSet
转换回 ArrayList
并返回。getIntersection
并打印出交集的结果。这个示例展示了如何使用 Java 集合框架中的 HashSet
来高效地计算两个列表的交集。
上一篇:java流
下一篇:java获取服务器ip和端口号
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站