webentwicklung-frage-antwort-db.com.de

Kann Java String als Index-Array-Schlüssel verwenden? (Beispiel: array ["a"] = 1;)

Kann Java einen String als Index-Array-Schlüssel verwenden? Beispiel:

array["a"] = 1;
44
Jaynova

Nein.

Um so etwas zu machen, musst du eine Map verwenden.

Map<String, Integer> aMap = new HashMap<String, Integer>();
aMap.put("a" , Integer.valueOf(1));
76
Kal

Nein - das soll mit einer Karte gemacht werden:

Map<String, Integer> map = new HashMap<>();
map.put("a", 2);

Dann um es zu bekommen:

int val = map.get("a"); //2

Sie können die eckige Klammersyntax nur für Arrays verwenden, nicht für eine der Sammlungen. Also so etwas wie:

int val = map["a"]; //Compile error

Wird immer illegal sein. Sie müssen die get() -Methode verwenden.

39
Michael Berry

Nein, das wäre ein Map in Java.

(Der Typ wäre Map<String,Integer>.)

15
Johannes Weiss

Nein, können sie nicht. Sie können jedoch Zeichen verwenden, wobei der Wert ASCII des Alphabets als Schlüsselindex verwendet wird

Erwägen

    String[] a = new String['a' + 1];
    a['a'] = "Hello";
    int[] b = new int['a' + 3];
    b['c'] = 5;

    System.out.println(a[97]);
    System.out.print(b[99]);

Dies wird ausgegeben

Hello
5
6
goonerify