Wie kann ich bei einer Map in Java den Key Wert auslesen und speichern zb als refernz?

2 Antworten

Wie kann ich bei einer Map in Java den Key Wert auslesen

Über die Methode keySet() kannst du die Keys einer Map auslesen.

und speichern zb als refernz?

Indem du eine Variable deklarierst, die denselben Typ hat wie die Objekte im Keyset. Dann einfach der Variable die Referenz auf das Objekt zuweisen.

Woher ich das weiß:Berufserfahrung

Hallo derinformati281,

bei einer Map kommst Du über die Methode keySet an die einzelnen Keys.

Über die Methode get(Object key) kommst Du dann wieder an die einzelnen Elemente die zu dem jeweiligen Key gehören. Das kennst Du sicherlich.

Hier noch ein Code-Beispiel:

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Map<String, String> myMap = new HashMap<>();
        myMap.put("1", "element 1");
        myMap.put("2", "element 2");
        myMap.put("3", "element 3");

        Set<String> keys = myMap.keySet();
        for (String key: keys){
            System.out.println(key);
        }
    }
}

Als key/value kannst Du natürlich beliebige Typen benutzen. In meinem Beispiel habe ich jeweils String benutzt.

Gruß

AldoradoXYZ  09.11.2018, 18:15

Ausgabe meines Code-Beispiels ist übrigens:

1
2
3

Jeweils Strings natürlich.

0
derinformati281 
Fragesteller
 09.11.2018, 18:19

Hallo AldoradoXYZ,

Danke für deine Schnelle Antwort !

was ist wenn ich nur ein Bestimmtes Key dringend brauche ?

In deinem Beispiel zum Beispiel ganz dringend die 2 Brauche um zb den Zustandsautomat weiterzuschalten?(Return key 2) Ist dies Möglich. Theoretisch kann ich ja nich von Set auf ein einziges Element zugreifen und referenzieren oder ?

0
AldoradoXYZ  09.11.2018, 18:26
@derinformati281

Hallo derinformati281,

wenn Du den Key "ganz schnell" brauchst, dann benutzt Du die Map vielleicht falsch. Eine Map benutzt man ja dann, wenn man "ganz schnell" vom key zum Element kommen möchte.

Du erwähnst "Zustandsautomat weiterzuschalten": In meiner Implementierung wäre es so, dass der Zustand entweder seine Folgezustände kennt (also eine Referenz darauf besitzt). Oder, wie in deinem Fall, eben den nötigen Key "kennt"/referenziert.

Ansonsten zeig mal Code, ich denke dir kann geholfen werden. Wenn Du einen key aus einem Set suchst, dann kennst Du ja das "Kriterium" unter dem Du suchst. Also kannst Du auch eine entsprechende Map bauen in der dieses Kriterium selbst der "key" ist. Hoffe das ist nicht zu abstrakt.

Gruß

0