在Java中有JavaScript风格的集合吗?

Is there a JavaScript style Collection in Java

本文关键字:集合 风格 Java 中有 JavaScript      更新时间:2023-09-26

在JavaScript中,我可以用等待值的键定义以下集合

var items = {
                'book':null,
                'pen':null,
                'pencil':null,
                'chicken':null,
                'wallet':null
            };

当我准备向集合中添加值时,我可以这样做,例如

for(var p in items){
  if(some condition){
     items[p]=someValue;
  }
}

是否有一种方法可以在java中以相同的效率水平做到这一点?

我知道在旧的Java中我可以结合Map和List来完成这个,但是在Java中他们的新数据结构可以处理这个吗?我说的是Java 7(或8)?我正在使用谷歌应用引擎为我的Java。

如果您正在寻找相同的样式,您可以这样尝试。

 HashMap<String, String > items  = new HashMap<String, String>(){{
        put("book",null);
        put("pen",null);
    }};

以后你可以用钥匙再放一次。

items.put("book", "Some Bible");

看来你是Java和集合的新手。我强烈建议您在继续之前阅读更多关于HashMap的内容。

编辑:根据最新评论更新了我的答案

您完全可以使用HashMap来达到相同的效果。要遍历现有的键,请使用Map#keySet方法。

Map<String, String> map = new HashMap<String, String>();
map.put("book", null);
map.put("pen", null);
for (String key : map.keySet()) {
    map.put(key, "Some Value");
}
System.out.println(map);