我是Java新手,所以我对它了解不多。当我在Java中发现一些非常令人沮丧的东西时,我正在使用Array。
我有一个字符串数组,我希望索引是一个字符串。例如
String[][] a = new String[][]{};
a['person']['name'] = "something";
但是Java不允许我这样做。请帮助我在这个或一些解决方法。由于
你可以试试map of maps:
Map<String, Map<String, V>> map = //...
//...
map.get("person").get("name");
我将使用HashMap
为例,名称为键,"something"为值。
// 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);
}
您可以简单地使用用户定义的类作为键的Map
:
Map<Category, String> map = new HashMap<>();
Category
可以有enum
、type
、PERSON
等属性和String
名称字段。
确保重写hashCode和equals方法,以允许比较不同的Category
对象