我試圖讓一個(基於散列)Multimap與基於(基於散列的)Multiset的每個鍵的值。見例如:Multimap與值HashMultiset的值
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");
但隨後,
System.out.println(mmap.get("1") instanceof Multiset<?>);
//false, the returned collection is not a HashMultiset,
//but a (private) WrappedCollection
因此,似乎我無法訪問我創建了多集?我希望能夠作爲一個Multiset返回(包含在Multisets.unmodifiableMultiset()中)。我不想每次都將它複製到新的Multiset中。除了切換回Map<K, Multiset<V>>
並在我的代碼中添加Multimap
意味着要消除的複雜性之外,還有其他選擇嗎?
噢,那就是我所懷疑的,無論如何。我不確定要問什麼功能(因爲總是有獲得它的危險:))。 PS:你有時非常隱祕! – 2010-01-23 00:42:02
我也想這樣。在過去的4年裏沒有發生過這種事情嗎? – 2014-07-11 19:00:40
唉,不,我們已經失去了我們以前認爲我們可能發佈的特定解決方案的信心。 – 2014-11-02 16:42:14