Java 获取两个 List 中的差异部分:retainAll 和 removeAll 方法
在 Java 中,可以使用 List 的 retainAll 和 removeAll 方法来获取两个 List 中的差异部分。
假设有两个 List,分别为 list1 和 list2,要获取 list1 中与 list2 不同的元素,可以按照以下步骤操作:
- 创建一个新的
List用于存放差异部分,例如List<T> diffList = new ArrayList<>(),其中T是元素的数据类型。 - 使用
retainAll方法,将list1中与list2相同的元素保留下来,即list1.retainAll(list2)。 - 使用
removeAll方法,将list1中与list2相同的元素移除,即list1.removeAll(list2)。 - 将
list1中剩余的元素添加到diffList中,即diffList.addAll(list1)。
下面是一个示例代码:
import java.util.ArrayList;
import java.util.List;
public class Main {
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> diffList = new ArrayList<>();
// 获取list1中与list2不同的元素
diffList.addAll(list1);
diffList.removeAll(list2);
System.out.println('差异部分:' + diffList); // 输出:差异部分:[A]
}
}
在上述示例中,diffList 中存放的就是 list1 中与 list2 不同的元素,即 [A]。
原文地址: https://www.cveoy.top/t/topic/qkPR 著作权归作者所有。请勿转载和采集!