keySet:将map中所有的键存入到set集合。因为set集合具备迭代器,所以可以通过迭代器方式取出所有的键,再根据get方法获取每一个键对应的值。
Map集合的取出原理:将map集合转成Set集合,再通过迭代器取出。
entrySet:
返回值为:Set<Map.Entry<K,V>> 将map集合中的映射关系存入set集合中,而这个关系的数据类型就是Map.Entry
public class MapDemo { public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); map.put("01","java09"); map.put("01","java01"); map.put("02","java02"); map.put("03","java03"); map.put("04","java04"); Set<Map.Entry<String,String>> entrySet = map.entrySet(); Iterator<Map.Entry<String,String>> it = entrySet.iterator(); while (it.hasNext()){ Map.Entry<String,String> m = it.next(); System.out.println(m.getKey()+"--"+m.getValue()); } Set<String> keySet = map.keySet(); Iterator<String> i = keySet.iterator(); while (i.hasNext()){ String key = i.next(); System.out.println(key+"--"+map.get(key)); } } }
Map.Entry 其实Entry也是一个接口,它是Map接口中的一个内部接口。