因为Map的数据是key和value共同组成,所以,在遍历时有所不同
Map<String,Integer> scores = new HashMap<String,Integer>();
scores.put("张三", 1);
scores.put("李四", 2);
第一种:
Set<String> names = scores.keySet();//获取集合中所有key-value的key组成的Set集合"张三" "李四"
//加强循环
for (String key : names) {
int value = scores.get(key);
System.out.println(value);//输出各个key对应的value
}
又或者:
//迭代器
Iterator<String> iterator = names.iterator();
while(iterator.hasNext()) {//判断下一个是否为空
String key = iterator.next();//不为空,则向下移一个数据,然后输出该数据
int value = scores.get(key);
System.out.println(value);
}
第二种:通过Entry方法
Set<Entry<String, Integer>> entries = scores.entrySet();//将HashMap集合中key-value用Entry对象包含
//加强循环
for (Entry<String, Integer> entry : entries) {
String key = entry.getKey();
int value = entry.getValue();
System.out.println(value);
}
//迭代器
Iterator<Entry<String, Integer>> it = entries.iterator();
while(it.hasNext()) {
Entry<String, Integer> entry = it.next();
String key = entry.getKey();
int value = entry.getValue();
System.out.println(value);
}