Pio*_*sen 5 java collections guava
我正在寻找一个SetJava 实现,它提供基于元素属性的查找。用 Guava 术语思考,它可以使用 a Function<Element, SearchKey>(预计在所有集合元素中都是唯一的)来构造,并提供一个方法find(SearchKey key)返回一个Element函数将为其返回key。
需要满足的明显假设:
function(element)的整个生命周期中都是不变element的。原因:
有时需要Set<Element>并且字段类型不能更改为 a Map<SearchKey, Element>(例如在 JPA 实体中或在第 4 方代码的情况下)。尽管如此,在构建这样一个对象时,人们可以安全地使用他们自己的Set具有类似Map功能的实现。
备择方案:
我已经找到了一些替代方案,但没有一个看起来是完美的
Map类似的功能 - 使用线性搜索find(SearchKey)实现(适用于每个Set实现:)TreeSet与Comparator比较SearchKeys- 有点像hack,特别是这不再尊重元素相等性ceiling并要求您Element为查找目的构建人工(uogh ...)(如果你想回答你不知道更多的选择 - 节省你的时间,不要。这是我已经知道的,我将无法接受你的回答。)
| 归档时间: |
|
| 查看次数: |
4054 次 |
| 最近记录: |