我们有时候在逻辑校验中会需要判断两个集合是否相等,比如我在编辑用户的时候需要判断两个所属组织集合是否相等来判断有没有修改用户的所属组织:
第一反应我想到的是遍历集合,比如这样:

但是这方法一看就不够优雅,然后我看了一下List类找到了一个containsAll方法:

试了一下,妥妥的:

用Java8的新特性里面collect(Collectors.joining())方法进行比较也可以实现:

但是这个方法试了一下比较耗时,最终我还是用了containsAll。
这篇博客探讨了在Java中如何优雅地判断两个集合是否相等。作者首先介绍了传统遍历比较的方法,然后引入了`List.containsAll()`方法,并测试了Java 8的`collect(Collectors.joining())`方法,但发现后者在性能上不如前者。最终,作者选择了`containsAll()`作为首选解决方案。
我们有时候在逻辑校验中会需要判断两个集合是否相等,比如我在编辑用户的时候需要判断两个所属组织集合是否相等来判断有没有修改用户的所属组织:
第一反应我想到的是遍历集合,比如这样:

但是这方法一看就不够优雅,然后我看了一下List类找到了一个containsAll方法:

试了一下,妥妥的:

用Java8的新特性里面collect(Collectors.joining())方法进行比较也可以实现:

但是这个方法试了一下比较耗时,最终我还是用了containsAll。

被折叠的 条评论
为什么被折叠?
