从ArrayList中删除所有出现的元素
我正在使用java.util.ArrayList
,我想要删除特定元素的所有事件。
List<String> l = new ArrayList<String>(); l.add("first"); l.add("first"); l.add("second"); l.remove("first");
这只是删除第一次出现。 但是我想要在l.remove("first");
之后删除所有的事件l.remove("first");
我希望列表只能用“秒”的值来排除。 我发现通过使用Googlesearch,可以通过创build新的列表和调用list.removeAll(newList)
。 但是是否有可能删除所有的事件而不创build新的列表或是否有任何API可用来实现它?
l.removeAll(Collections.singleton("first"));
使用Java 8的另一种方法是:
l.removeIf("first"::equals);
while(l.remove("first")) { }
这将从列表中删除“第一个”的所有元素。
您可以使用removeAll()
方法。
list.removeAll(Arrays.asList("someDuplicateString"));
因为在你的例子中,你正在使用string,我想应该做的伎俩。
for(int i = 0; i < list.size();i++){ if(list.get(i).equals(someStringNameOrValue)){ list.remove(i--); } }
看起来我误解了你的问题。 我更新了我的答案。 我对吗? 你想删除所有“第一”的事件?