当我追踪遗留代码时,我发现了一些非常奇怪的东西。我可以从LinkedHashSet获取所有数据值,而不是从另一个(FilterSet)获取。
虽然数据可以在未经过滤的情况下看到,但在迭代中,我无法获得所需的数据。是因为谓词吗?如何从未经过滤的数据中获取所有数据?
我发现 guava 用于我项目中实用程序类的实现。
这两套有什么区别?非常感谢任何帮助。
dblib
答案 0 :(得分:1)
Sets.filter
返回一个名为FilteredSet
的私有实现类型,它是另一个集合的视图,将其输出限制为仅具有某些特定属性的原始集合的元素
故意无法获取原始未经过滤的数据。