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

java判断两个list是否有交集

作者:凌傲天   发布日期:2026-01-11   浏览:82

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("两个列表没有交集");
        }
    }
}

解释说明:

  1. Set的使用:将第一个列表 list1 转换为 Set,因为 Set 的查找操作时间复杂度为 O(1),这样可以提高查找效率。
  2. 遍历和检查:遍历 list2 中的每个元素,检查它是否存在于 Set 中。如果存在,则说明两个列表有交集,立即返回 true
  3. 返回结果:如果没有找到任何交集元素,则返回 false

这段代码可以有效地判断两个 List 是否有交集,并输出相应的结果。

上一篇:java ==和equals的区别

下一篇:java 文件删除失败

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

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

Laravel 中文站