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

后端 未结 4 1740
夕颜
夕颜 2020-12-13 12:47

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

array[\"a\"] = 1;
相关标签:
4条回答
  • 2020-12-13 12:56

    No, that would be a Map in Java.

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

    0 讨论(0)
  • 2020-12-13 12:59

    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.

    0 讨论(0)
  • 2020-12-13 13:02

    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));
    
    0 讨论(0)
  • 2020-12-13 13:04

    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 讨论(0)
提交回复
热议问题