Java peut-il utiliser une chaîne comme clé de tableau d'index? Exemple:
array["a"] = 1;
Non.
Pour faire quelque chose comme ça, vous devez utiliser une carte.
Map<String, Integer> aMap = new HashMap<String, Integer>();
aMap.put("a" , Integer.valueOf(1));
Non - vous voulez qu'une carte le fasse:
Map<String, Integer> map = new HashMap<>();
map.put("a", 2);
Alors pour l'obtenir:
int val = map.get("a"); //2
Vous ne pouvez utiliser la syntaxe entre crochets que pour les tableaux, pas pour aucune des collections. Donc quelque chose comme:
int val = map["a"]; //Compile error
Sera toujours illégal. Vous devez utiliser la méthode get()
.
Non, ce serait un Map en Java.
(Le type serait Map<String,Integer>
.)
Non, ils ne peuvent pas. Mais ils peuvent utiliser des caractères la valeur ASCII de l'alphabet sera utilisée comme index clé
Considérer
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]);
Cela produira
Hello
5