java比较两个集合_在Java中比较两个集合的最快方法是什么?

firstSet.equals(secondSet)

它真的取决于你想在比较逻辑中做什么…例如,如果你发现一个元素在一个集合不是在另一个发生了什么?你的方法有一个void返回类型,所以我假设你将在这个方法中做必要的工作。

更细粒度的控制,如果你需要它:

if (!firstSet.containsAll(secondSet)) {

// do something if needs be

}

if (!secondSet.containsAll(firstSet)) {

// do something if needs be

}

如果你需要得到在一个集合而不是其他的元素。

编辑:set.removeAll(otherSet)返回一个布尔值,而不是一个集合。要使用removeAll(),你必须复制集合,然后使用它。

Set one = firstSet;

Set two = secondSet

one.removeAll(secondSet);

two.removeAll(firstSet);

如果一个和两个的内容都是空的,那么你知道这两个集合是相等的。如果没有,那么你有了使这些集合不相等的元素。

你提到的记录数可能很高。如果底层实现是一个HashSet,那么每个记录的获取是在O(1)的时间内完成的,所以你不能真正得到比那更好。 TreeSet是O(log n)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值