java - 迭代 HashMap<String, List<Class>>

标签 java loops dictionary

我如何迭代一个字符串“key”所具有的列表“值”。

Map<String, List<wordsStreamed>> hm = new HashMap<String, List<wordsStreamed>>();
hm.put(wordChoosen, sw.streamMethod());

hm 有一个键和超过 10,000 个值。我想迭代这些值,以便可以将我的 key 与所有值进行比较。我也想知道这段代码是否是从类列表中获取字符串值的最佳方法。

hm.values().iterator().next().get(i).toString()

最佳答案

要迭代 HashMap 的值,您可以使用快速枚举。

这里您可能需要迭代键集,然后访问每个值的 List 并迭代 List 的每个项目以进行比较到关键。

例如:

Map<String, List<Object>> hm = new HashMap<String, List<Object>>();
for (String key : hm.keySet()) {
    // gets the value
    List<Object> value = hm.get(key);
    // checks for null value
    if (value != null) {
        // iterates over String elements of value
        for (Object element : value) {
            // checks for null 
            if (element != null) {
                // prints whether the key is equal to the String 
                // representation of that List's element
                System.out.println(key.equals(element.toString()));
            }
        }
    }
}

注意我已将此处的 WordsStreamed 类替换为 Object 类。

关于java - 迭代 HashMap<String, List<Class>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19432850/

相关文章:

scala - scala选择使用什么 map ?

java - 仅使用 POJO bean 创建项目

java - Rabbit MQ - 为什么我的设置不向所有客户端提供消息?

iphone - 为什么这个for循环不执行?

java - 如何在我定义的 Java 对象中覆盖返回具有唯一实体 ID 的唯一哈希码值的哈希码方法?

iphone - 在静态图像 map iPhone上绘制路线

java - servlet如何工作?实例化, session ,共享变量和多线程

java - AlertDialog.Builder 显示 API 请求为 null

java - 检查单击复选框的条件

java - 打印数组中从第 N 个索引开始的元素