[英]How to remove elements from collection while iterating without iterator
假设我有一个字符串列表(简化)
fullList = {a,b,c,d,a,d,c,b}
我想找到像
couplesList = {{a,a},{b,b}, ...}
我现在解决这个问题的方法是
我最终有2个对象{a,a},但是我无法从fullList
删除它们,因为我没有使用“迭代器”样式进行迭代(因为我使用的是Guava谓词,所以无论如何都无法工作-因为我没有Itarables.find(...)
函数找到的指向元素的迭代器指针)。
我也想以“高效”的方式做到这一点,所以我想避免多个嵌套循环等。
任何想法如何更正确/有效地解决这个问题? 我有点卡住了。
我将为每个元素创建一个频率计数。 用番石榴术语来说,这是一个多集。 由此,您可以创建一个对的集合,以及一个单身的另一个集合。 可以通过一遍原始列表和一遍频率计数图来完成。 即O(n)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.