65

私は使用してjava.util.ArrayListいます、特定の要素のすべての出現を削除したいと思います。

    List<String> l = new ArrayList<String>();
    l.add("first");
    l.add("first");
    l.add("second");

    l.remove("first");

最初のオカレンスのみを削除しています。l.remove("first");しかし、値「second」だけでリストが除外されることを期待した後、すべてのオカレンスを削除したいと思います。グーグルで新しいリストを作成してを呼び出すことで達成できることがわかりましたlist.removeAll(newList)。しかし、新しいリストを作成せずにすべてのオカレンスを削除することは可能ですか、それを達成するために利用可能なAPIはありますか?

4

5 に答える 5

36

Java 8 を使用する別の方法:

l.removeIf("first"::equals);
于 2015-08-07T09:08:10.860 に答える
7

メソッドを使用できますremoveAll()

list.removeAll(Arrays.asList("someDuplicateString"));
于 2012-11-26T13:41:25.660 に答える