Java:hashmap 和 keyset() 的问题

标签 java hashmap

这就是我正在做的事情(这是我的“作业”):任务是制作一张沙鼠 map ,然后使用 keySet() 和 get(key) 翻阅它;

import java.util.*;

class Gerbil
    {
    int gerbilNumber;
    Gerbil(int i)
        {
        gerbilNumber = i;
        }
    void hoop()
        {
        System.out.println("The gerbil can jump and its number is: " + gerbilNumber);
        }
    }

public class GerbilMaze2
    {
    static Map<String,Object> fill(Map<String,Object> m)
        {
        m.put("Rat2", new Gerbil(2));
        m.put("Rat1", new Gerbil(1));
        m.put("Rat3", new Gerbil(3));
        return m;
        }
    public static void main(String[] args)
        {
        Map<String,Object> gerbils = fill(new HashMap<String, Object>());
        System.out.println(gerbils.keySet());
        for (String k : gerbils.keySet())
            {
            gerbils.get(k).hoop();
            }
        }
    }

直到我调用 hoop() 方法的那一刻,一切似乎都很好。 gerbils.get(k) 是一个对象(当我打印它时,它显示为一个对象)但由于某种原因“找不到符号”。

在此先感谢您的帮助, 保罗

最佳答案

你想要Map<String,Gerbil> .没有 hoop Object 中的方法.

(您可能还对 Map.valuesMap.entrySet 感兴趣。)

关于Java:hashmap 和 keyset() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2029810/

相关文章:

java - 比较字符串与数组字符串以及二分查找

java - 使用 Marshaller 将 Java 对象转换为 Json

java - HashMap 持有重复键

java - 如何计算 C++ 或 Java 中的方差、中位数和标准差?

java - 从 Eclipse 中的多个项目运行 JUnit 测试

C:在哈希表中存储多达一百万个条目

Java Hashmap 实现

java - 对Java8中的HashMap感到困惑

java - 为什么我的 HashMap 识别出不应该是键的散列键?

java - Android EditText动态高度以编程方式