【问题标题】:Android Equivalent of a Swift Dictionary?Swift字典的Android等价物?
【发布时间】:2021-07-17 05:15:39
【问题描述】:

我是 Android 编码新手,目前正在尝试从 Swift 转换代码。

我进行了搜索,但未能找到按首字母对姓名列表进行分组的好方法。在 Swift 中,这可以通过一个键值对来完成,该键值对使用第一个字母作为字典形式的键。

就数据而言,列表总是在变化,因为它来自 API,因此代码必须是动态的才能进行相应的调整。

示例数据:蝙蝠侠、蝙蝠女、美国队长、惊奇队长、冰人、钢铁侠、钢铁爱国者、雷神

期望的输出:

B:蝙蝠侠,蝙蝠女 C:美国队长、惊奇队长 我:冰人、钢铁侠、钢铁爱国者 T:雷神

到目前为止,我已经尝试循环遍历列表并使用 charAt() 获取第一个字符,但是我无法将名称分配给相应的字母。

任何帮助将不胜感激!

【问题讨论】:

  • 你可能在寻找 HashMap。
  • HashMap<String, ArrayList<String>> 可能会有所帮助。不要忘记初始化空项

标签: java android dictionary


【解决方案1】:

这可能是一个常见的java.util.Dictionary<K, V>...,但上面写着:

注意:此类已过时。新的实现应该实现 Map 接口,而不是扩展这个类。

因此,按照文档中的建议,您正在寻找 java.util.Map

【讨论】:

  • Dictionary 25 年没用了。来自链接:“注意:此类已过时。
【解决方案2】:

您正在寻找Map 接口。请注意,从 API 返回的数据的 形状 通常不会改变,只会改变值,因此通常的做法是编写一个 Java 类对 JSON 响应进行建模,然后使用 Gson(在 Android 或服务器上) ) 或 Jackson(在服务器上)自动映射它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多