问题点:明明设置了打印键和之间存在空格,为什么打印结果只有第一行“”world 456“”输出的键和值之间有空格,而剩下的键java和值567 都没有打印出键和值之间的空格呢
代码如下:
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
public class TestMap {
public static void main(String[] args) {
HashMap<String, Integer> hm = new HashMap<String, Integer>();
hm.put("hello", 123);
hm.put("world", 456);
hm.put("java", 567);
// 遍历1.0
Set<String> set = hm.keySet();//获取所有键的集合
for (String str : set) {
System.out.println(str+"\t"+hm.get(str));//根据键去获取值str是迭代器作为键来被获取值
}
System.out.println("\n*********************************************\n");
// 遍历2.0 Entry<String, Integer>键值关系的类型
Set<Entry<String, Integer>> entry = hm.entrySet();//Entry为接口被定义在Map中
for (Entry<String, Integer> ent : entry) {//Set集合中每一个元素都是Entry类型
System.out.println(ent.getKey()+"\t"+ent.getValue());//获取键值关系
}
}
}
输出结果如下:
