12
Set<Badge> availableBadges = myService.getAvailableBadges();
List<Badge> allBadges = Arrays.asList(Badge.values());
allBadges.removeAll(availableBadges);
/* Badge is an enumn */

remove all をサポートするコレクションは何ですか?

4

2 に答える 2

32

Arrays.asListインターフェースの部分的に変更不可能な実装を返します(メソッドの一部remove*-@LouisWassermanのコメントに感謝しListます)。

編集1:ArrayListラッパーを使用します:new ArrayList<Badge>(allBadges);

于 2013-01-07T17:58:09.817 に答える
2

コレクションは変更できない場合があります。

新しいリストを作成する必要があります

List<T> list = new ArrayList<>(unmodifiableList);

リストが変更可能になり、削除や操作を実行できるようになりremoveAllました。

于 2019-08-12T07:32:18.850 に答える