Set<Badge> availableBadges = myService.getAvailableBadges();
List<Badge> allBadges = Arrays.asList(Badge.values());
allBadges.removeAll(availableBadges);
/* Badge is an enumn */
remove all をサポートするコレクションは何ですか?
Set<Badge> availableBadges = myService.getAvailableBadges();
List<Badge> allBadges = Arrays.asList(Badge.values());
allBadges.removeAll(availableBadges);
/* Badge is an enumn */
remove all をサポートするコレクションは何ですか?
Arrays.asList
インターフェースの部分的に変更不可能な実装を返します(メソッドの一部remove*
-@LouisWassermanのコメントに感謝しList
ます)。
編集1:ArrayList
ラッパーを使用します:new ArrayList<Badge>(allBadges);
コレクションは変更できない場合があります。
新しいリストを作成する必要があります
List<T> list = new ArrayList<>(unmodifiableList);
リストが変更可能になり、削除や操作を実行できるようになりremoveAll
ました。