Java 嵌入另一个地图的地图的初始化
Java initialization of a map embedded within another map
下午好:
我最近创建了一个 class 'X',它包含一个属性 "network",它被定义为一个映射,它使用一个字符串作为键,另一个映射作为值(双图)。对于此 class,将使用 "hashmap" 实现。
class 大致如下所示:
public class X {
private Map<String, Map<String, Integer>> network; //Attribute
public X() {
network = new HashMap<>(); //An empty map is created
}
public int method1 {
String string = "sentence";
int number = 2;
String string2 = "another";
network.put(string, <string2, number>); //NOT WORKING - wrong syntax/wrong initialization?
}
}
然而,当我执行函数中包含的network.put指令时,编译器自动检测到一个错误:"Expression expected"。如果可能的话,我想知道是我在向地图中添加新的键值元素时使用了错误的语法,还是地图的初始化导致了错误。
非常感谢所有帮助。
谢谢。
您需要做的:
public class X {
private Map<String, Map<String, Integer>> network; //Attribute
public X() {
network = new HashMap<>(); //An empty map is created
}
public int method1() {
String string = "sentence"; int number = 2; String string2 = "another";
Map<String, Integer> map = new Hashmap<>();
map.put(string2, number);
network.put(string, map) ;
}
}
思路是创建并初始化一个新的HashMap。然后向其中添加键值对。最后将地图插入封闭地图。
下午好:
我最近创建了一个 class 'X',它包含一个属性 "network",它被定义为一个映射,它使用一个字符串作为键,另一个映射作为值(双图)。对于此 class,将使用 "hashmap" 实现。
class 大致如下所示:
public class X {
private Map<String, Map<String, Integer>> network; //Attribute
public X() {
network = new HashMap<>(); //An empty map is created
}
public int method1 {
String string = "sentence";
int number = 2;
String string2 = "another";
network.put(string, <string2, number>); //NOT WORKING - wrong syntax/wrong initialization?
}
}
然而,当我执行函数中包含的network.put指令时,编译器自动检测到一个错误:"Expression expected"。如果可能的话,我想知道是我在向地图中添加新的键值元素时使用了错误的语法,还是地图的初始化导致了错误。
非常感谢所有帮助。 谢谢。
您需要做的:
public class X {
private Map<String, Map<String, Integer>> network; //Attribute
public X() {
network = new HashMap<>(); //An empty map is created
}
public int method1() {
String string = "sentence"; int number = 2; String string2 = "another";
Map<String, Integer> map = new Hashmap<>();
map.put(string2, number);
network.put(string, map) ;
}
}
思路是创建并初始化一个新的HashMap。然后向其中添加键值对。最后将地图插入封闭地图。