Sto provando ad avere una Multimap (basata su hash) con un Multiset (basato su hash) di valori per ogni chiave. Vedere l'esempio:Multimap con HashMultiset per valori
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");
Ma poi,
System.out.println(mmap.get("1") instanceof Multiset<?>);
//false, the returned collection is not a HashMultiset,
//but a (private) WrappedCollection
Così sembra non posso accedere al multiset ho creato? Volevo poterlo restituire come Multiset (incluso in Multisets.unmodifiableMultiset()). Non voglio copiarlo ogni volta in un nuovo Multiset. Ho qualche altra opzione che tornare a Map<K, Multiset<V>>
e aggiungere nel mio codice la complessità che Multimap
intende eliminare?
Oh beh, questo è quello che sospettavo, grazie comunque. Non sono esattamente sicuro di quale caratteristica chiedere (dal momento che c'è sempre il pericolo di ottenerla :)). PS: a volte sei così segreto! –
Anche questo mi piacerebbe. Nessuna possibilità è successo negli ultimi ≳4 anni? –
Ahimè, no, abbiamo perso la fiducia nella particolare soluzione che prima pensavamo di poter pubblicare. –