为了账号安全,请及时绑定邮箱和手机立即绑定

从迭代器中删除数组中的元素的最佳方法是什么?

从迭代器中删除数组中的元素的最佳方法是什么?

翻过高山走不出你 2021-06-21 16:05:13
我有一个数组和一个迭代器。两者都是相同的类型,比如说整数,我想从迭代器中删除数组中的值。例如:我的迭代器: 1, 2, 3, 4, 5, 6我的阵列: 2, 5然后 2 和 5 将从迭代器中删除。我该怎么做?编辑:对编程不太了解的人放弃了投票,哈哈。
查看完整描述

2 回答

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

    }        

});


查看完整回答
反对 回复 2021-06-23
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

也许不是最有效的答案,但我会用 for 循环来解决它并遍历你的数组。然后对于数组中的每个元素,运行迭代器直到获得匹配项,然后调用 iterator.remove() 函数。


查看完整回答
反对 回复 2021-06-23
  • 2 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信