开发者

Can Java use String as an index array key? (ex: array["a"]=1;)

开发者_如何学Go

Can Java use a String as an index array key? Example:

array["a"] = 1;


No.

To do something like this, you have to use a Map.

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


No - you want a map to do that:

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

Then to get it:

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

You can only use the square bracket syntax for arrays, not for any of the collections. So something like:

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

Will always be illegal. You have to use the get() method.


No, that would be a Map in Java.

(The type would be Map<String,Integer>.)


No they can't. But they can use chars the ASCII value of the alphabet will be used as the key index

Consider

    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]);

This will output

Hello
5
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜