LinkedHashSet和FilterSet(Guava)有什么区别

时间:2015-05-28 10:49:01

标签: guava linkedhashset

当我追踪遗留代码时,我发现了一些非常奇怪的东西。我可以从LinkedHashSet获取所有数据值,而不是从另一个(FilterSet)获取。

虽然数据可以在未经过滤的情况下看到,但在迭代中,我无法获得所需的数据。是因为谓词吗?如何从未经过滤的数据中获取所有数据?

我发现 guava 用于我项目中实用程序类的实现。

这两套有什么区别?非常感谢任何帮助。

enter image description here

dblib

1 个答案:

答案 0 :(得分:1)

Sets.filter返回一个名为FilteredSet的私有实现类型,它是另一个集合的视图,将其输出限制为仅具有某些特定属性的原始集合的元素

故意无法获取原始未经过滤的数据。