import java.util.List;
import java.util.Set;
import java.util.HashSet;
import java.util.Arrays;
public class ListIntersection {
public static boolean hasIntersection(List<Integer> list1, List<Integer> list2) {
// 将第一个列表转换为Set,以提高查找效率
Set<Integer> set = new HashSet<>(list1);
// 遍历第二个列表,检查是否有元素存在于Set中
for (Integer element : list2) {
if (set.contains(element)) {
return true; // 如果找到交集,返回true
}
}
return false; // 如果没有找到交集,返回false
}
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> list2 = Arrays.asList(6, 7, 8, 9, 5);
if (hasIntersection(list1, list2)) {
System.out.println("两个列表有交集");
} else {
System.out.println("两个列表没有交集");
}
}
}
list1 转换为 Set,因为 Set 的查找操作时间复杂度为 O(1),这样可以提高查找效率。list2 中的每个元素,检查它是否存在于 Set 中。如果存在,则说明两个列表有交集,立即返回 true。false。这段代码可以有效地判断两个 List 是否有交集,并输出相应的结果。
下一篇:java 文件删除失败
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站