Java中HashMap的文字声明
在Java中HashMap的文字声明,java,hashmap,literals,Java,Hashmap,Literals,在JavaScript中,您可以一次性声明JSON对象的所有键和值组合,如下所示 var myJSON = { 'key1' : 'value 1', 'key2' : 'value 2', 'key3' : 'value 3', 'key4' : 'value 4', 'key5' : 'value 5', 'key6' : 'value 6' }; 我想知道我们是否可以在Java中为HashMaps做类似的事情 HashMap<Stri
JavaScript
中,您可以一次性声明JSON
对象的所有键和值组合,如下所示
var myJSON = {
'key1' : 'value 1',
'key2' : 'value 2',
'key3' : 'value 3',
'key4' : 'value 4',
'key5' : 'value 5',
'key6' : 'value 6'
};
我想知道我们是否可以在Java
中为HashMaps
做类似的事情
HashMap<String, String> map = new HashMap<String, String>(
"Key 1", "Value 1",
"Key 2", "Value 2",
"Key 3", "Value 3"
);
HashMap-map=新的HashMap(
“键1”、“值1”,
“键2”,“值2”,
“键3”、“值3”
);
基本上,我需要将其作为一次性只读内容,作为代码其他部分的配置。我搜索并尝试了一些解决方案,但都没有成功。或者有更好的方法吗?Java中没有映射文本的概念,但您可以轻松编写一个实用方法来实现类似的功能。例如,见。然后可以初始化映射(使用静态导入):
Map Map=Map(“k1”、“v1”、“k2”、“v2”);
另一种方法是使用“双大括号初始化”语法,但它会创建一个匿名的内部类,这不一定是一个好主意。虽然{{{
(双大括号)是一种反模式,但您可以编写类似这样的代码
HashMap<String, String> map = new HashMap<String, String>(){{
put("Key 1", "Value 1");
put("Key 2", "Value 2");
put("Key 3", "Value 3");
}};
HashMap=newhashmap(){{
put(“键1”、“值1”);
put(“键2”、“值2”);
put(“键3”、“值3”);
}};
编辑:
如果您正在寻找放置元素的更好方法,请迭代json并将键值放入循环中。@marounnaroun这不是重复的。静态映射不等于
文字声明
@sᴜʀᴇsʜᴀᴛᴛᴀ 竖起大拇指。重新打开。@Marounnaroun回答:)@Marounnaroun也不同意这一点:-/@suresh:我觉得这是一个很好的副本。尤其是因为你的答案与其中一个答案相同:是的……我不喜欢双“{”解决方案。@JordiCastilla或not!映射将包含对封闭类的引用,这可能是不需要的…只是在"值3
…;)@assylias我的意见…但这是OP询问的方式,我更喜欢你的示例,是的,但OP询问的是一种类似于JSon的静态方式…这是一种方式…我问过最后是否有更好的解决方案。我猜这是一种解决方案,但可能更倾向于使用assylias的回答,是吗?基本上,这只是一次性只读变量。我不会处理它。所以我更喜欢最有效的方法。@ShahidThaika您可以自由选择答案:)
HashMap<String, String> map = new HashMap<String, String>(){{
put("Key 1", "Value 1");
put("Key 2", "Value 2");
put("Key 3", "Value 3");
}};