用户登录
用户注册

分享至

获取两组之间的差异

  • 作者: 花仙子_flowergod
  • 来源: 51数据库
  • 2022-10-26

问题描述

所以如果我有两套:

Set<Integer> test1 = new HashSet<Integer>();
test1.add(1);
test1.add(2);
test1.add(3);

Set<Integer> test2 = new HashSet<Integer>();
test2.add(1);
test2.add(2);
test2.add(3);
test2.add(4);
test2.add(5);

有没有办法比较它们,只返回一组 4 和 5?

Is there a way to compare them and only have a set of 4 and 5 returned?

推荐答案

试试这个

test2.removeAll(test1);

Set#removeAll

从此集合中删除指定集合中包含的所有元素(可选操作).如果指定的集合也是一个集合,这个操作有效地修改这个集合,使其值是两个集合的不对称集合差.

Removes from this set all of its elements that are contained in the specified collection (optional operation). If the specified collection is also a set, this operation effectively modifies this set so that its value is the asymmetric set difference of the two sets.

软件
前端设计
程序设计
Java相关