主页 > 电脑硬件  > 

List差集


文章目录 基本类型对象类型

基本类型

ListUtils.subtract 方法用于计算两个集合的差集,即返回 list1 中有但 list2 中没有的元素。

其中,list1 指向第一个集合,list2 指向第二个集合。该方法返回一个新的 List 对象,它包含所有在 list1 中,但不在 list2 中的元素。

以下是使用 ListUtils.subtract 方法的示例代码:

List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5); List<Integer> list2 = Arrays.asList(3, 4, 5, 6, 7); List<Integer> diff = ListUtils.subtract(list1, list2); System.out.println("List1: " + list1); // [1, 2, 3, 4, 5] System.out.println("List2: " + list2); // [3, 4, 5, 6, 7] System.out.println("Diff: " + diff); // [1, 2]

在上面的示例中,我们使用 ListUtils.subtract 方法计算了两个整数列表的差集。具体来说,我们创建了两个列表 list1 和 list2,它们有一些相同的元素(即3、4和5)。然后,我们使用 ListUtils.subtract 方法计算 list1 和 list2 的差集,并将结果存储在 diff 变量中。输出结果表明,diff 中包含了 list1 中有但 list2 中没有的元素 1 和 2。

需要注意的是,ListUtils.subtract 方法返回的是一个新的 List 对象,并不会修改原始的列表。

对象类型 public class MyClass { private String name; private int value; // 省略构造方法和其他方法 // 省略getter和setter方法 } // 创建包含自定义对象的列表 List<MyClass> list1 = new ArrayList<>(); list1.add(new MyClass("A", 1)); list1.add(new MyClass("B", 2)); list1.add(new MyClass("C", 3)); List<MyClass> list2 = new ArrayList<>(); list2.add(new MyClass("B", 2)); list2.add(new MyClass("C", 3)); list2.add(new MyClass("D", 4)); // [{"name":"A","value":1}] List<MyClass> diff1 = ListUtils.subtract(list1, list2); // [{"name":"D","value":4}] List<MyClass> diff2 = ListUtils.subtract(list2, list1);

在这个示例中,我们有两个包含自定义对象 MyClass 的列表 list1 和 list2。我们使用 ListUtils.subtract 方法计算了这两个列表的差集,并将结果存储在 diff 变量中。最终得到的 diff 列表包含了 list1 中有但 list2 中没有的元素。

需要注意的是,为了使 ListUtils.subtract 方法正常工作,MyClass 类需要正确实现 equals 和 hashCode 方法,以便进行对象的比较和判断。

标签:

List差集由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“List差集