【问题标题】:Java : Possible to store multiple hash maps inside a string array?Java:可以在字符串数组中存储多个哈希映射吗?
【发布时间】:2016-01-10 01:20:04
【问题描述】:

标题说明了一切,只是为了举例。我目前正在学习 Java,作为个人实验,我正在编写 ATM 屏幕的软表示。

我正在尝试将三个哈希映射存储在一个数组列表中的一个值内。因此,让我能够添加多个字符串,所有字符串都包含它们自己的三个映射集。

所以 - 我想要一个“用户”的数组列表,在这个列表中,将是“检查”“保存”和“CD”的三个映射。

添加新用户时,该用户还可以添加/修改/删除三个不同的“帐户”。

想法?

【问题讨论】:

  • 没有。您可以将多个哈希映射存储在一个哈希映射数组中,将多个字符串存储在一个字符串数组中,但不能将多个哈希映射存储在一个字符串数组中,因为哈希映射不是字符串。
  • @AndyTurner 当然可以,例如 JSON
  • @nafas 这是一张地图,而不是哈希地图。
  • @AndyTurner 如果他将该地图包装在一个 JAVA 类中,他就可以做到。
  • 如果您声明一个包含用户帐户字段的User 类,您会做得更好。

标签: java arrays list dictionary hash


【解决方案1】:

看看能不能帮你解决问题

HashMap <String,HashMap> holder = new HashMap<>();
HashMap <Integer,Integer> hm1 = new HashMap<>();
HashMap <Integer,String> hm2 = new HashMap<>();
hm1.put(0,10000000);
hm1.put(1,5000);
hm2.put(0,"xxxx-xxxx-xxxx");
hm2.put(1,"yyyy-yyyy-yyyy");

holder.put("Amt", hm1);
holder.put("Info", hm2);

Iterator<String> iterator = holder.keySet().iterator();

while(iterator.hasNext())
{String key = iterator.next();
 System.out.println("key: " + key + " value: " + holder.get(key));
}

输出:

键:Amt 值:{0=10000000, 1=5000}

key:信息值:{0=xxxx-xxxx-xxxx, 1=yyyy-yyyy-yyyy}

您可以首先使用 key1 获取所需的字段,例如 Amt,然后使用 key2 (0,1,2....) 让每个人获取相应的值。

【讨论】:

  • 美丽。谢谢。
猜你喜欢
  • 2013-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-02
  • 2018-06-19
  • 2012-08-05
  • 2018-10-13
  • 1970-01-01
相关资源
最近更新 更多