9

Java(おそらくGuavaを使用していますか?)では、これらのsの1つを変更せずに、 aと a などの2つCollectionの s の違いを取得するためのメソッドが提供されていますか?ListSet Collectioncollection1.removeAll(collection2)

Guava には がありますが、任意のコレクションではなく s に対してSets.difference(set1,set2)のみ機能します。Set

ヒントをありがとう!

4

2 に答える 2

13

Collection組み込みのPredicatesを使用して最初のものをフィルタリングできます。

Collections2.filter(c1, Predicates.not(Predicates.in(c2))

あらゆる種類の で動作しますが、 が であるCollection場合の方が明らかに優れてc2Setます。

于 2013-04-10T12:24:50.567 に答える
4

ApacheCommons CollectionUtils にはdisjuctionという名前のメソッドがあります。

指定された Iterable の排他的論理和 (対称差) を含む Collection を返します

于 2013-04-10T12:27:13.190 に答える