我有一个数组和一个迭代器。两者都是相同的类型,比如说整数,我想从迭代器中删除数组中的值。例如:我的迭代器: 1, 2, 3, 4, 5, 6我的阵列: 2, 5然后 2 和 5 将从迭代器中删除。我该怎么做?编辑:对编程不太了解的人放弃了投票,哈哈。
2 回答
![?](http://img1.sycdn.imooc.com/545865470001bf9402200220-100-100.jpg)
ITMISS
TA贡献1871条经验 获得超8个赞
我会使用 - 就像在许多其他可用语言中一样 - 过滤器。
在公共集合中已经有一个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);
}
});
![?](http://img1.sycdn.imooc.com/54dc06a60001ef0401000100-100-100.jpg)
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
也许不是最有效的答案,但我会用 for 循环来解决它并遍历你的数组。然后对于数组中的每个元素,运行迭代器直到获得匹配项,然后调用 iterator.remove() 函数。
添加回答
举报
0/150
提交
取消