在JAVA中使用字符串作为多维数组的索引



我是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可以有enumtypePERSON等属性和String名称字段。

确保重写hashCode和equals方法,以允许比较不同的Category对象

相关内容

  • 没有找到相关文章

最新更新