【问题标题】:Is there a Java version of the creating an array of dictionaries like in Swift是否有像 Swift 一样创建字典数组的 Java 版本
【发布时间】:2018-11-12 00:39:32
【问题描述】:

在 Swift 中我可以这样写字典:

let myDict = [
    [
        "title": "some title",
        "val": "some val",
        "url": "some url"
    ],
[
        "title": "some title",
        "val": "some val",
        "url": "some url"
    ],
]

有没有 android Java 版本的?

【问题讨论】:

  • 在 Java 中称为Map
  • @Alec OP 询问如何创建字典数组
  • @LeoDabus 我的错,编辑了标题
  • @LeoDabus 一个简单的搜索,基于如何在 java 中创建字典将指向正确的方向,不是吗?如果有人知道如何创建地图,他们肯定可以制作地图地图。 :)
  • @Alec 是的,如果他们知道要搜索什么

标签: java swift dictionary


【解决方案1】:

Java 没有字典或数组字面量。相反,我们在 Collections API 中有接口 java.util.Mapjava.util.List。它们有几个实现,包括java.util.HashMapjava.util.ArrayList。你可以以任何你想要的方式组合这些。不幸的是,创建地图列表可能会变得非常冗长,因为您必须调用适当的方法来将元素添加到这些数据结构中。我建议您阅读 Collections API 以了解 Java 中可用的所有数据结构。

【讨论】:

    【解决方案2】:

    导入实用程序:

    import java.util.HashMap;
    

    然后你可以使用Map。第一行声明了一个类型为HashMap 的空变量,接下来的两行将数据添加到其中。

    Map vehicles = new HashMap();
    vehicles.put("BMW", 5);
    vehicles.put("Mercedes", 3);
    

    正如@Code-Apprentice 提到的。您需要导入所需的实用程序。

    【讨论】:

    • You need to import the required utility你也可以提一下它是什么,把整个导入行放进去方便复制。
    • @Alexander 感谢您的评论。我编辑了答案。
    【解决方案3】:

    Java 中没有文字字典,您要查找的组合是 List<Map<String, String>> ListMap 都是接口,因此无法直接实例化它们。在您的情况下,它们的具体类是多种多样的,但ArrayListLinkedList 用于ListHashMap 用于Map

    你可以通过匿名类获得一些类似的东西:

    List<Map<String, String>> myDict = new ArrayList<Map<String, String>>() {{
        add(new HashMap<String, String>() {{
            put("title", "some title");
        }});
    }}
    

    【讨论】:

      猜你喜欢
      • 2021-05-06
      • 2015-01-05
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      相关资源
      最近更新 更多