比较两个 List<String> 差集
时间: 2024-03-13 09:11:40 浏览: 14
要比较两个 `List<String>` 的差集,即找到在一个列表中存在而在另一个列表中不存在的元素,你可以使用`removeAll()`方法。这个方法会从一个列表中移除另一个列表中存在的所有元素。以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("orange");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("orange");
list1.removeAll(list2);
System.out.println("列表1中差集元素: " + list1);
}
}
```
在上面的示例中,`list1`和`list2`是两个 `List<String>` 对象。通过调用`list1.removeAll(list2)`方法,将在`list2`中存在的所有元素从`list1`中移除,这样就得到了列表1中的差集。最终输出的结果将会是`[apple]`,表示在列表1中存在而在列表2中不存在的元素是"apple"。
请注意,这个方法会修改原始列表(即在列表1上进行操作),如果你不想修改原始列表,你可以先创建一个副本进行操作。例如:
```java
List<String> list1Copy = new ArrayList<>(list1);
list1Copy.removeAll(list2);
```
这样,`list1Copy`将会是列表1与列表2的差集,而列表1本身不会被修改。