封狼 2022-11-03 21:46 采纳率: 100%
浏览 22
已结题

java后端list取交集为0

问题遇到的现象和发生背景

java后端调用函数时 传入list集合 list的集合较小的时候 有结果 list集合较大的时候 使用这个函数 没有交集
但相同的数据我用别的语言 其实是有交集的

用代码块功能插入代码,请勿粘贴截图
public static List option(List list,List list1,
                                               List list2,List list3){

        System.out.println("List 0:"+list.size());
        System.out.println("List 1:"+list1.size());
        System.out.println("List 2:"+list2.size());
        System.out.println("List 3:"+list3.size());

        List temp= (List) CollectionUtils.intersection(list,list1);
        System.out.println("temp : "+temp.size());
        List temp1= (List) CollectionUtils.intersection(list3,list2);
        System.out.println("temp1 : "+temp1.size());
        return (List) CollectionUtils.intersection(temp,temp1);

    }

  • 写回答

1条回答 默认 最新

  • 涝山道士 2022-11-03 22:47
    关注

    CollectionUtils是哪个包的工具类?

    要实现交集很简单,只需要添加一个Set集合就行:

    Set<String> set = new HashSet<>(list);
    set.retainAll(list1);
    set.retainAll(list2);
    set.retainAll(list3);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月12日
  • 已采纳回答 11月4日
  • 创建了问题 11月3日