Da Java Map nicht bidirektional ist, kann der Wert aus dem Schlüssel abgerufen werden, der Schlüssel jedoch nicht aus dem Wert. Dafür scheint es eine Bibliothek vom Listentyp zu geben, aber gibt es eine gute Möglichkeit, dies zu tun ...
Stream.of(fooMap)
.takeUntil(fooItem -> fooItem.getValue() == targetValue)
.findLast().get().getKey();
Ich schreibe dies mit der Lightweight-Stream-API, bin mir aber nicht sicher, ob es da ist. Wenn möglich, möchte ich nach O (1) suchen ... Ich frage mich, ob es keine andere Wahl gibt, als eine Karte in die entgegengesetzte Richtung zu erstellen.
Recommended Posts