Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么这个map语句用这种语法格式化?_Java_Mapping - Fatal编程技术网

Java 为什么这个map语句用这种语法格式化?

Java 为什么这个map语句用这种语法格式化?,java,mapping,Java,Mapping,我在查看一个项目时偶然发现了这句话,我正试图弄清楚它是如何工作的 private Map<String, Map<String, List>> bank; 另一个例子是: a3("Distinct", "adjective", "Unique. No duplicates. Clearly different or of a different kind.") 我知道地图是如何工作的(如果我错了,请纠正我)。在本例中,单词“Distinct”映射到词性(映射到包含同一

我在查看一个项目时偶然发现了这句话,我正试图弄清楚它是如何工作的

private Map<String, Map<String, List>> bank;
另一个例子是:

a3("Distinct", "adjective", "Unique. No duplicates. Clearly different or of a different kind.")
我知道地图是如何工作的(如果我错了,请纠正我)。在本例中,单词“Distinct”映射到词性(映射到包含同一单词定义的列表)

我的主要问题是,这是一个如何有效的语句,以及为什么语法与通常创建映射不同,例如:

Map<String, String> myMap = new HashMap<String, String>();
Map myMap=newhashmap();
任何帮助都会很好,非常感谢

Map<String, List<String>> map = new HashMap<>();
要在此处输入值,请使用以下结构:

map.computeIfAbsent("Distinct", k->new HashMap<>()).computeIfAbsent("adjective", k->new ArrayList<>()).add("Familiar. Worked in Java.")
map.computeIfAbsent("Distinct", k->new HashMap<>()).computeIfAbsent("adjective", k->new ArrayList<>()).add("Unique. No duplicates. Clearly different or of a different kind.")
map.computeIfAbsent(“Distinct”,k->new HashMap()).computeIfAbsent(“形容词”,k->new ArrayList()).add(“熟悉的.在Java中工作过”)
map.computeIfAbsent(“Distinct”,k->new HashMap()).computeIfAbsent(“形容词,k->new ArrayList()).add(“唯一。无重复。明显不同或不同类型。”)
看到和

要在此处输入值,请使用以下结构:

map.computeIfAbsent("Distinct", k->new HashMap<>()).computeIfAbsent("adjective", k->new ArrayList<>()).add("Familiar. Worked in Java.")
map.computeIfAbsent("Distinct", k->new HashMap<>()).computeIfAbsent("adjective", k->new ArrayList<>()).add("Unique. No duplicates. Clearly different or of a different kind.")
map.computeIfAbsent(“Distinct”,k->new HashMap()).computeIfAbsent(“形容词”,k->new ArrayList()).add(“熟悉的.在Java中工作过”)
map.computeIfAbsent(“Distinct”,k->new HashMap()).computeIfAbsent(“形容词,k->new ArrayList()).add(“唯一。无重复。明显不同或不同类型。”)

请参见和

您显示的语句没有创建
映射
。它只是声明了一个变量。而且它真的应该是
私有地图库因为地图中的列表似乎是字符串列表。感谢您的回复。只是澄清一下,这意味着bank变量就是映射本身,对吗?变量(如果它是对象类型,如
bank
)可以为null,也可以引用对象。创建对象与使变量引用对象是一项独立的工作。我明白了。感谢您的解释。您显示的语句不是在创建
映射。它只是声明了一个变量。而且它真的应该是
私有地图库因为地图中的列表似乎是字符串列表。感谢您的回复。只是澄清一下,这意味着bank变量就是映射本身,对吗?变量(如果它是对象类型,如
bank
)可以为null,也可以引用对象。创建对象与使变量引用对象是一项独立的工作。我明白了。谢谢你的解释。谢谢你的解释;现在肯定更清楚了。我将尝试使用您提供的上述代码添加实验;现在肯定更清楚了。我将尝试添加对您提供的上述代码的实验。
Map<String, Map<String, List<String?>> map = new HashMap<>();
map.computeIfAbsent("Distinct", k->new HashMap<>()).computeIfAbsent("adjective", k->new ArrayList<>()).add("Familiar. Worked in Java.")
map.computeIfAbsent("Distinct", k->new HashMap<>()).computeIfAbsent("adjective", k->new ArrayList<>()).add("Unique. No duplicates. Clearly different or of a different kind.")