Vla*_*ric 0 java collections hashmap linkedhashmap data-structures
因此,主要思想是创建例如:
Map<Map<String, String>, Integer> map = new LinkedHashMap<>();
Run Code Online (Sandbox Code Playgroud)
我需要在这张地图中放置例如项目:
{{France=Paris}=12, {Spain=Madrid}=2, ... }
Run Code Online (Sandbox Code Playgroud)
如何制作这个?如何实现“放置”功能?
map.put("France","Paris",2)不起作用。
您需要先创建一个Map(例如Map.of("France", "Paris"))并将其放入更大的Map.
请按以下步骤操作:
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<Map<String, String>, Integer> map = new LinkedHashMap<>();
map.put(Map.of("France", "Paris"), 2);
System.out.println(map);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
{{France=Paris}=2}
Run Code Online (Sandbox Code Playgroud)
或者,
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<Map<String, String>, Integer> map = new LinkedHashMap<>();
Map<String, String> data = new HashMap<>();
data.put("France", "Paris");
map.put(data, 2);
System.out.println(map);
}
}
Run Code Online (Sandbox Code Playgroud)
注意:正如Mureinik已经提到的,将可变对象作为映射中的键(替代解决方案)很容易出错。您可以查看此答案以获取解释。
| 归档时间: |
|
| 查看次数: |
366 次 |
| 最近记录: |