在JAVA中定义<string,string [] =“”>的数组并初始化

时间:2015-05-21 02:40:41

标签: java

在JAVA中,如何成功定义和初始化以下数据?

Array<String, String[]> BB = 
 {"name1", {"a", "b", "c"}, 
  "name2", {"d", "e"}}

上述语句给出了语法错误。谢谢你的建议!

1 个答案:

答案 0 :(得分:1)

您需要定义一个其中包含StringString[]字段的类,如下所示:

class MyClass {
    String field1;
    String[] field2;
    public MyClass(String field1,String[] field2) {
        this.field1 = field1;
        this.field2 = field2;
    }
}

然后声明清单:

List<MyClass> list = new ArrayList<>(Arrays.asList(
    new MyClass("name1", new String[] { "a", "b", "c" }),
    new MyClass("name2", new String[] { "d", "e" })
    ));

如果您的第一个Map<String, List<String>>用作索引,则另一个选项可能是String

Map<String, List<String>> map = new HashMap<>();
map.put("name1", new ArrayList<String>(Arrays.asList("a", "b", "c"));
map.put("name2", new ArrayList<String>(Arrays.asList("d", "e"));

第三个选项可能是使用基本上是Map<K, Collection<V>>的多图。 Guava提供了一个MultiMap接口,可以使用几种方法来初始化它。