我正在学习如何使用哈希图,我在这里遇到了一些问题。我创建了两个名为Zoo和Animals的类,我使用Hashmap加入了两个类:
private HashMap<Zoo, Animals> zoo;
我构建了一个将数据添加到hashmap中的方法:
public void setAnimal(Zoo zoo, Animals animal ){
zoo.put(zoo, animal);
}
我已将以下值插入到hashmap中:
Main main = new Main();
Zoo zoo1 = new Zoo("France", 1);
Zoo zoo2 = new Zoo("Spain", 2);
Animals gorilla = new Animals(2015, "Gorilla");
Animals frog = new Animals(2018, "Frog");
Animals zebra = new Sedan(2016, "zebra");
Animals lion= new Sedan(2016, "lion");
main.setAnimal(zoo1, gorilla);
main.setAnimal(zoo2, frog);
main.setAnimal(zoo2, lion);
main.setAnimal(zoo2, zebra);
我建立了一种方法来打印那里的动物园和各自的动物:
String text = "";
for(Map.Entry<Zoo, Animals> entry : zoo.entrySet()) {
Zoo key = entry.getKey();
Animals value = entry.getValue();
text += key.toString() + "\n";
text += value.toString() + "\n";
}
return text;
但我得到了这个:
France 1
gorilla
Spain 2
Zebra
而不是
France 1
Gorilla
Spain 2
frog
lion
zebra
如何获得完整的动物清单?