你会如何Map在Java中初始化静态?
方法一:静态初始化
方法二:实例初始化(匿名子类)还是其他一些方法?
各自的优点和缺点是什么?
这是一个说明两种方法的示例:
import java.util.HashMap;
import java.util.Map;
public class Test {
private static final Map<Integer, String> myMap = new HashMap<Integer, String>();
static {
myMap.put(1, "one");
myMap.put(2, "two");
}
private static final Map<Integer, String> myMap2 = new HashMap<Integer, String>(){
{
put(1, "one");
put(2, "two");
}
};
}
Run Code Online (Sandbox Code Playgroud) 从Map.java的文档-
在
Map.of()和Map.ofEntries()静态工厂方法提供了一种方便的方法来创建不可改变的地图.
但是当我已经可以使用重载方法时 ......
Map.of("k1","v1","k2","v2","k3","v3"...);
Run Code Online (Sandbox Code Playgroud)
... Map.ofEntries的用途是什么呢?
返回包含从给定条目中提取的键和值的不可变映射,并且条目本身不存储在映射中.
我正在使用Android Studio 1.4.1,我刚刚创建了一个Hashmap,并且正在关注如何填充和操作它的教程(在java上).但是我得到一个'无法解决符号放置'错误,而"put"命令为红色.我添加的图像显示了自动完成快照,虽然导入了java.util.HashMap,但自动完成中没有"put"命令.可用命令也以红色显示.我尝试使用它们而不是"put"命令.我一直都有这种问题.有人可以帮忙吗?先感谢您...
import java.util.HashMap;
HashMap<String, String> pozisyon = new HashMap<String, String>();
pozisyon.put("SKale", "a8");
Run Code Online (Sandbox Code Playgroud)