java - 如何在Android中获取HashMap在java上循环的内容?

标签 java android arrays loops hashmap

我有这个:

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);

    }
}

}

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

最佳答案

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

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

Multimap

关于java - 如何在Android中获取HashMap在java上循环的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8011924/

相关文章:

java - 如何防范 Play Framework 中的交叉构建注入(inject)和其他依赖管理威胁?

java - 如何通过更改标题(即旋转对象)来避免与边框或彼此之间的碰撞

java - Kotlin 代码编译成 Jar 用于 Java 项目?

android - 在移动到下一个 Activity 之前完整地运行一个函数

arrays - 检查值列表是否与其他列表中的值相同

java - java中方法的最大大小?

javascript - 从单个链接打开 native 应用程序商店?

javascript - 在 Android 上保持 webRTC 音频流

javascript - "arr[i] = []"的位置怎么会导致代码崩溃?

c++ - 对角排列数组