【问题标题】:How to get content of HashMap's looping on java in Android?如何在Android中获取HashMap在java上循环的内容?
【发布时间】:2011-12-22 03:40:20
【问题描述】:

我有这个:

Map<Integer, String[]> strs = new HashMap<Integer, String[]>(); 
for (int population = 0 ; population < 20 ; population++) {

strs.put(0, morning_food);
strs.put(1, snack1_food);
strs.put(2, lunch_food);
strs.put(3, snack2_food);
strs.put(4, nite_food);

for (String[] value : strs.values()) {
    for (String val : value) {
        Log.d("", val);

    }
}

}

这将显示 strs 的内容 20 次,我怎样才能获得第一个 strs,或第十四个 strs 或其他?我试过将它保存到数组中,但它总是显示最后一个 strs 任何我想要的索引,有什么解决方案吗?谢谢

【问题讨论】:

    标签: java android arrays loops hashmap


    【解决方案1】:

    如果你想按固定顺序循环使用LinkedHashMap

    【讨论】:

    • 当然可以,只是不保证任何订单
    【解决方案2】:

    当您使用Map.put 时,它将覆盖已与键关联的任何值。当您调用Map.put(0, ...) 20 次时,您仍然只有一个与键0 关联的值,即传递给put 的最新值。

    如果您需要存储与单个键关联的 20 个不同值,请使用 Guava 的 Multimap

    Multimap

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      • 2012-01-29
      • 1970-01-01
      相关资源
      最近更新 更多