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);