Поскольку это HashMultimap
, что также является SetMultimap
, при вызове hmm.get(ky)
возвращаемое значение будет равно Set
всех значений для этого ключа. После этого вы сможете перебирать каждое из значений в Set
и использовать instanceof
для этих значений. Если для каждого ключа не будет нескольких значений, для начала не следует использовать Multimap
, а просто использовать HashMap
.
.
HashMultimap hmm = HashMultimap.create();
HashMultimap hmm2 = HashMultimap.create();
Element ele = new Element();
hmm2.put("name", "Amit");
hmm.put("Amit", ele);
hmm.put("rohit", hmm2);
Iterator itr = hmm.keys().iterator();
String ky = (String) itr.next();
Set elements = hmm.get(ky);
Iterator elementsItr = elements.iterator();
Object val = elementsItr.next();
if (val instanceof Element) {
doElementStuff((Element) val);
}
ky = (String) itr.next();
elements = hmm.get(ky);
elementsItr = elements.iterator();
val = elementsItr.next();
if (val instanceof Element) {
doElementStuff((Element) val);
}
Ключевым моментом является то, что вызов get()
для HashMultimap
возвращает Set
значений, а не одно значение.