List<Integer>list1=Arrays.asList(1,2,3,4,5);List<Integer>list2=Arrays.asList(4,5,6,7,8);Set<Integer>set1=newHashSet<>(list1);Set<Integer>set2=newHashSet<>(list2);set1.retainAll(set2);// set1现在只包含交集元素List<Integer>intersection=newArrayList<>(set1); 方法四:使用Java的C...
确定所有要取交集的List: 首先,需要明确哪些List要进行交集运算。假设有三个List:list1、list2和list3。 对List进行排序(如果需要提高效率): 排序并不是必需的步骤,但在某些情况下,如果List非常大,对它们进行排序可能会提高后续操作的效率。不过,对于交集运算本身,排序并不是必需的。 使用集合(Set)数据结构找出所有...
如果存在,说明有交集。 booleanhasIntersection=false;for(Integerelement:list1){if(list2.contains(element)||list3.contains(element)){hasIntersection=true;break;}} 1. 2. 3. 4. 5. 6. 7. 步骤3:显示结果 根据上一步的判断结果,我们可以输出是否有交集。 if(hasIntersection){System.out.println("存在...
工作中遇到一个很简单的需求,求两个list中是否存在相同的元素,即求两个list是否存在交集,例如listA = [1, 2, 3],listB = [2],则listA 和 listB 存在交集 [2] 二.错误示例 public class Test { public static void main(String[] args) { List<Integer> listA = Arrays.asList(1, 2, 3); List<...
二、多个List的交集、并集、差集 //初始化ListList<String>listA=newArrayList<String>(){{add("A");add("B");}};List<String>listB=newArrayList<String>(){{add("B");add("C");}}; 1.交集 listA.retainAll(listB);System.out.println(listA);// 结果:[B] ...
Collections工具类提供了一个静态方法disjoint(),它可以判断两个集合是否没有共同的元素。如果两个集合没有共同的元素,disjoint()方法返回true;否则返回false。因此,可以通过这个方法来判断两个列表是否有交集。 List<String> list1 = Arrays.asList("A","B","C"); ...
交集: 取2个集合中,相同的部分 ; 并集: 将2个集合,合并为一个集合; 差集: 取2个集合中,不相同的部分 (A差集 B,取 A中与B不相同的元素) 首先我们定义两个list集合, 通过循环都可以实现上述集合运算,因此通过循环方法本文就不列出了。
一、取交集、并集、差集 importjava.util.ArrayList;importjava.util.List;importjava.util.stream.Collectors;/** * @author Alan Chen * @description * @date 2021/8/11 */publicclassTest{publicstaticvoidmain(String[]args){List<String>list1=newArrayList<String>();list1.add("1");list1.add("2")...
List<String> listC =listB.stream() .filter(setA::contains) // 使用HashSet来检查交集,提高效率 .collect(Collectors.toList()); // 收集结果到一个新的列表 // 生成集合D,保存集合B中没有和集合A重合的数据 List<String> listD =listB.stream() ...