Java 从集合中删除元素
我想从其他集合中的多个集合中删除元素。是否有一个方法获取元素集合并移除所有元素Java 从集合中删除元素,java,collections,Java,Collections,我想从其他集合中的多个集合中删除元素。是否有一个方法获取元素集合并移除所有元素 Collection<String> coll1; Collection<String> coll2; Collection<String> coll3; Collection<String> mainCollection; mainCollection.removeAll(coll1); mainCollection.removeAll(coll2); mainCo
Collection<String> coll1;
Collection<String> coll2;
Collection<String> coll3;
Collection<String> mainCollection;
mainCollection.removeAll(coll1);
mainCollection.removeAll(coll2);
mainCollection.removeAll(coll3);
我不喜欢在每个集合上单独调用removeAll。就我所知,没有一种方法能做到这一点。你必须在每次收集时调用它才能清除它。
浏览以下链接以了解更多信息 没有内置方法,但您可以轻松编写一个 Java 7:
<E> void removeAllOf(Collection<E> removeFrom, Collection<E>... toRemove) {
for (Collection<E> remove : toRemove) {
removeFrom.removeAll(remove);
}
}
没有,但您可以编写一个。是否有一个方法可以获取元素集合并删除所有元素。嗯,这不是什么问题。将集合添加到集合中并在其中循环,使用每个元素移除所有集合。为什么不使用一个方法来获取集合集合的集合?
<E> void removeAllOf(Collection<E> removeFrom, Collection<E>... toRemove) {
Arrays.stream(toRemove).forEach(removeFrom::removeAll);
}
removeAllOf(mainCollection, coll1, coll2, coll3);