package seday13;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
* @author xingsir
* Map的遍历
* 遍历Map有三种方式:
* 遍历所有的key
* 遍历所有的key-value对
* 遍历所有的value(相对不常用)
*/
public class MapDemo2 {
public static void main(String[] args) {
Map<String, Integer> map=new HashMap<>();
map.put("JAVA",99);
map.put("C#", 98);
map.put("C++", 97);
map.put("PYTHON", 96);
map.put("ORACLE", 99);
/*
* Set keySet()将当前Map中所有的key以一个Set集合形式返回
*/
Set<String> keyset= map.keySet();
for(String key : keyset) {
System.out.println("key:"+key);
}
System.out.println("------------------------------------------------");
/*
* Set<Entry> entrySet()将当前Map中每一组键值对一个Entry实例形式存放于Set集合后返回
*
* java.util.Map.Entry
* Entry的每一个实例用于表示Map中的一组键值对
*/
Set<Entry<String,Integer>> entrySet
= map.entrySet();
for(Entry<String,Integer> entry :entrySet) {
String key2 = entry.getKey();
Integer value = entry.getValue();
System.out.println(key2+":"+value);
}
System.out.println("------------------------------------------------");
/*
* Collection values()
* 将当前Map中所有的Value以一个Collection集合的形式返回。之所以没有用Set集合返回,是因为Map中的value是可以重复的。
*/
Collection<Integer> values = map.values();
for(Integer value : values) {
System.out.println("value:"+value);
}
}
}