Dim*_*eou 9 java collections multimap guava
我正在尝试为每个键创建一个(基于散列的)Multimap,其中包含一个(基于散列的)Multiset值.看例子:
Multimap<Object, Object> mmap = Multimaps.newMultimap(
Maps.<Object, Collection<Object>>newHashMap(),
new Supplier<Collection<Object>>() {
public Collection<Object> get() {
return HashMultiset.create();
}
});
mmap.put("1", "2");
Run Code Online (Sandbox Code Playgroud)
但是之后,
System.out.println(mmap.get("1") instanceof Multiset<?>);
//false, the returned collection is not a HashMultiset,
//but a (private) WrappedCollection
Run Code Online (Sandbox Code Playgroud)
所以我似乎无法访问我创建的多重集?我希望能够将其作为Multiset(包含在Multisets.unmodifiableMultiset()中)返回.我不希望每次都将它复制到新的Multiset中.除了切换回Map<K, Multiset<V>>代码并添加我Multimap想要消除的复杂性之外,我还有其他选择吗?
我担心这似乎不可能.您应该提交功能请求.我有一种狡猾的怀疑,那些狡猾的谷歌人有一个漂亮的Multimap,他们可能会发布这些可能对你有帮助的东西.
| 归档时间: |
|
| 查看次数: |
2468 次 |
| 最近记录: |