集合是否与 Java 中的列表具有相同的元素?

Jim*_*lum 4 java list set

我有一个ArrayList<SomeObject>in java,其中包含<SomeObject>多次。我也有一个Set<SomeObject>,它只包含一些元素一次。元素只能通过名称 ( String SomeObject.Name) 进行唯一区分。

我如何才能查看列表是否与集合具有完全相同的元素,但可能多次?

谢谢

nei*_*ldo 5

有几个集合库可以做到这一点。例如 commons-collection:https : //commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/CollectionUtils.html#isEqualCollection-java.util.Collection-java.util.Collection-

例如。 CollectionUtils.isEqualCollection(myList, mySet)

如果你必须自己编写它,没有库,那么只需检查每个包含另一个的所有元素:

`mySet.containsAll(myList) && myList.containsAll(mySet)`
Run Code Online (Sandbox Code Playgroud)