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); } } }