优选主流主机商
任何主机均需规范使用

java中如何得到列表list的交集与差集

在 Java 中,可以使用 Collection 接口中的 retainAll() 方法来获取两个 List 集合的交集,使用 removeAll() 方法来获取两个 List 集合的差集。具体操作步骤如下:

  1. 定义两个 List 对象,例如 List A 和 List B,分别存储需要进行比较的元素。
  2. 调用 List A 的 retainAll() 方法,并将 List B 作为参数传入。这个方法会保留 List A 中与 List B 相同的元素,删除其他元素,从而获得 List A 和 List B 的交集。
  3. 调用 List A 的 removeAll() 方法,并将 List B 作为参数传入。这个方法会删除 List A 中与 List B 相同的元素,从而获得 List A 和 List B 的差集。

示例代码如下:

List<String> listA = new ArrayList<>();
listA.add("A");
listA.add("B");
listA.add("C");

List<String> listB = new ArrayList<>();
listB.add("A");
listB.add("C");
listB.add("D");

// 获取 List A 和 List B 的交集
List<String> intersection = new ArrayList<>(listA);
intersection.retainAll(listB);
System.out.println(intersection); // [A, C]

// 获取 List A 和 List B 的差集
List<String> difference = new ArrayList<>(listA);
difference.removeAll(listB);
System.out.println(difference); // [B]

需要注意的是,在使用 retainAll() 和 removeAll() 方法时需要特别留意 List 集合中是否存在 null 元素,如果存在,可能会导致程序出现异常。

未经允许不得转载:搬瓦工中文网 » java中如何得到列表list的交集与差集