java语言 两个集合之间 取交集
时间: 2024-04-10 17:08:07 浏览: 50
可以使用Java集合框架的交集操作来取两个集合之间的交集。
例如,假设有两个集合A和B,可以使用以下代码来获取它们的交集:
```java
Set<Integer> A = new HashSet<>(Arrays.asList(1, 2, 3, 4));
Set<Integer> B = new HashSet<>(Arrays.asList(3, 4, 5, 6));
A.retainAll(B); // 通过retainAll方法获取A和B的交集
System.out.println(A); // 输出 [3, 4]
```
在上面的代码中,我们首先创建了两个集合A和B,然后使用retainAll方法获取它们的交集,最后输出结果。
注意,retainAll方法将修改原始集合A,因此如果需要保留原始集合,可以先创建一个副本再进行操作。
相关问题
java语言 两个集合之间 取交集 用CollectionUtils
在Java中,可以使用org.apache.commons.collections.CollectionUtils类中的intersection()方法来获取两个集合的交集。
以下是使用CollectionUtils.intersection()方法获取两个集合的交集的示例代码:
```java
import org.apache.commons.collections.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
public class IntersectionExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("A");
list1.add("B");
list1.add("C");
List<String> list2 = new ArrayList<>();
list2.add("B");
list2.add("C");
list2.add("D");
List<String> intersection = (List<String>) CollectionUtils.intersection(list1, list2);
System.out.println("List1: " + list1);
System.out.println("List2: " + list2);
System.out.println("Intersection: " + intersection);
}
}
```
输出结果:
```
List1: [A, B, C]
List2: [B, C, D]
Intersection: [B, C]
```
在上面的示例中,我们首先创建了两个List对象list1和list2,并将一些元素添加到它们中。然后,我们使用CollectionUtils.intersection()方法获取它们的交集,并将结果存储在一个名为intersection的List对象中。最后,我们使用System.out.println()语句打印输出结果。
java中两个list集合取交集
可以使用Java 8中引入的stream API来获取两个List集合的交集。可以使用Collection的retainAll方法,这个方法会保留两个集合中共有的元素,其余的元素会被删除。代码示例如下:
```java
List<String> list1 = Arrays.asList("apple", "banana", "orange");
List<String> list2 = Arrays.asList("banana", "cherry", "orange");
list1.retainAll(list2);
System.out.println(list1); // [banana, orange]
```
这里我们先创建了两个List集合list1和list2,然后调用list1的retainAll方法,将两个集合的交集保留在list1中,最后输出list1的结果为[banana, orange]。
阅读全文