Taki o to przykład:
Mam multimapę guavową.
Multimap<Long, String> mapa= HashMultimap.create();
Gdzieś w pętli dodaję sobie do mapy wpisy:
mapa.put(obiekt.getLiczba(), obiekt.getStringValue());
Co ciekawe (dla mnie) można dodać wpis z nullowym kluczem. I trochę psuje mi przez to "moją wizję", bo chciałem mieć nienullowe klucze lub wartości.
W takim razie decyduję się na napisanie metody filtrującej klucze:
private void filterByNonNullKey(Multimap<Long, String> mapa) {
Multimaps.filterKeys(mapa, new Predicate<Long>() {
@Override
public boolean apply(Long input) {
return input != null;
}
});
}
I teraz do pojawia się moje pytanie jak w temacie:
- Czy informacja (typ zwracany) na temat metody filterKeys mówi, że muszę jednak to przypisać do zmiennej i zwrócić?
- Czy jednak może być tak jak zrobiłem i ta pierwotna mapa z parametru metody filterByNonNullKey zostanie zmodyfikowana?