Set set = hm.entrySet() ;
java.util.Iterator it = hm.entrySet().iterator();
while(it.hasNext()){
java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
Object key = entry.getKey(); // 返回与此项对应的键,如果是一个类则强制转型,而且这个类必须有toString方法,或者你自己写的输出两个字符串的方法
Object value = entry.getValue(); // 返回与此项对应的值
System.out.println(key); // 在这里输出
System.out.println(value);
追问java.util.Iterator it = hm.entrySet().iterator();
这句为什么写成Iterator it = hm.entrySet().iterator();会出错
还有这句
Object key = entry.getKey(); key的类里面要写一个toString方法,是这个意思吗?
追答写成Iterator it = hm.entrySet().iterator(); 不是出错,是你没导入Iterator
写一个toString方法是在key的类型定义里写。
因为“hashmap的key是一个类,类中有两个字符串”,你要输出key,应该是要把key的两个字符串输出来吧,那么toString方法可以这么写
public String toString() {
return "属性A:"+属性A+", 属性B:"+属性B;
}