KeySet():
将Map中所有的键存入到set集合中,因为set具备迭代器,所有可以迭代方式取出所有的键,通过e.get(key)方法取值 ;
entrySet():
Set
Map.Entry表示映射关系。
entrySet():迭代后可以e.getKey(),e.getValue()取key和value。返回的是Entry接口 。
Map
map = new HashMap
(); map.put("1", "一"); map.put("2", "二"); map.put("3", "三"); //keyset(): Set
keySet = map.keySet();//先获取map集合的所有键的Set集合 Iterator
it1 = keySet.iterator();//获取其迭代器 while(it1.hasNext()){ String key1 = it1.next(); String value1 = map.get(key);//可以通过map集合的get方法获取其对应的值。 System.out.println("key: "+key1+",value: "+value1);//获得key和value值 } //entryset(): Set
> entrySet = map.entrySet();//通过entrySet()方法将map集合中的映射关系取出(这个关系就是Map.Entry类型) Iterator
> it2 = entrySet.iterator(); / /将关系集合entrySet进行迭代,存放到迭代器中 while(it2.hasNext()){ Map.Entry
a = it2.next();//获取Map.Entry关系对象a String key2 = a.getKey();//获取key String value2 =a.getValue();//获取value System.out.println("key: "+key2+",value: "+value2); }
两者的便利速度是有差别的:keySet()的速度比entrySet()慢了很多,keySet方式遍历Map的性能不如entrySet性能好
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217383.html原文链接:https://javaforall.net
