要找出两个Java列表的交集,你可以使用Java集合框架提供的方法。这里有两种常见的方法来实现这个目标:使用循环或使用集合操作。
方法1:使用循环
这个方法使用两个嵌套的循环来比较两个列表的元素,找到它们的交集。以下是示例代码:
import java.util.ArrayList;
import java.util.List;
public class IntersectionExample {
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
List<Integer> list2 = new ArrayList<>();
list2.add(2);
list2.add(3);
list2.add(4);
List<Integer> intersection = new ArrayList<>();
for (Integer item : list1) {
if (list2.contains(item)) {
intersection.add(item);
}
}
System.out.println("交集:" + intersection);
}
}
方法2:使用Java 8 Stream
如果你使用Java 8或更新版本,你可以使用Stream API来更简洁地找到两个列表的交集。以下是示例代码:
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class IntersectionExample {
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
List<Integer> list2 = new ArrayList<>();
list2.add(2);
list2.add(3);
list2.add(4);
List<Integer> intersection = list1.stream()
.filter(list2::contains)
.collect(Collectors.toList());
System.out.println("交集:" + intersection);
}
}
上述两种方法都可以用来找到两个列表的交集。第二种方法使用了Stream API,更加简洁和高效,特别是当你处理大型列表时。