在JAVA中使用string作为MultiDimensional Array的索引

时间:2013-04-26 02:54:10

标签: java android multidimensional-array

我是Java的新手,所以我对它并不了解。当我在Java中发现一些非常令人沮丧的事情时,我正在使用Array。

我有一个字符串数组,我希望索引是一个字符串。例如

String[][] a = new String[][]{};
a['person']['name'] = "something";

但Java不允许我这样做。请帮助我解决这个或一些解决方法。 感谢

3 个答案:

答案 0 :(得分:0)

您可以简单地使用带有用户定义类的Map作为键:

Map<Category, String> map = new HashMap<>();

Category可以包含enum type等属性,例如PERSONString名称字段。

请务必覆盖hashCodeequals方法,以便比较不同的Category个对象。

答案 1 :(得分:0)

我使用HashMap例如将名称作为键,将“某事”作为值。

// Create a HashMap which stores Strings as the keys and values 
Map<String,String> example = new HashMap<String,String>();

// Adding some values to the HashMap
example.put( "Wayne", new String( "Rooney" ));
example.put( "Alan", new String( "Shearer" ));
example.put( "Rio", new String( "Ferdinand" ));
example.put( "John", new String( "Terry" )); 

// Find out how many key/value pairs the HashMap contains
System.out.println("The HashMap contains " + example.size() + " pairs");

迭代地图:

for (String key : example.keySet() ) {
    // Get the String value that goes with the key 
    String value = example.get( key );

    // Print the key and value
    System.out.println( key + " = " + value); 
 } 

更多信息here

答案 2 :(得分:-1)

您可以尝试地图地图:

Map<String, Map<String, V>> map = //...
//...

map.get("person").get("name");