[英]What is the best way to remove elements in an array from an Iterator?
我有一个数组和一个迭代器。 两者都是相同的类型,比如说整数,我想从迭代器中删除数组中的值。 例如:
我的迭代器: 1, 2, 3, 4, 5, 6
我的数组: 2, 5
然后 2 和 5 将从迭代器中删除。 我该怎么做?
编辑:对编程不太了解的人放弃了投票,哈哈。
我会使用 - 就像在许多其他可用语言中一样 - 过滤器。
在公共集合中已经有一个FilterIterator 。 有了它,您可以过滤不需要的元素并使用通过过滤器的元素。
final List<Integer> values = Arrays.asList(2,5);
Iterator<Integer> filteredIterator = new FilterIterator(yourIterator, new Predicate<Integer>() {
public boolean evaluate(Integer object) {
return values.contains(object);
}
});
也许不是最有效的答案,但我会用 for 循环来解决它并遍历你的数组。 然后对于数组中的每个元素,运行迭代器直到获得匹配项,然后调用 iterator.remove() 函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.