HashMap的entrySet与keySet
当需要遍历hashmap的时候,请尽量使用entrySet,而不要用keySet,entrySet的效率要比keySet高,实际上使用 entrySet是只需要遍历一次hash,即将key和value的映射关系放入到entry中,再取之;而keySet需要两次遍历hash,第一次取所有的key,第二次用key去取出对应的value。
- Iteratoriter=hashMap.[color=red]entrySet()[/color].iterator();
- while (iter.hasNext()){
- Map.Entryentry=(Map.Entry)iter.next();
- Stringkey=String.valueOf(entry.getKey());
- Stringval=String.valueOf(entry.getValue());
- }
当需要遍历hashmap的时候,请尽量使用entrySet,而不要用keySet,entrySet的效率要比keySet高,实际上使用 entrySet是只需要遍历一次hash,即将key和value的映射关系放入到entry中,再取之;而keySet需要两次遍历hash,第一次取所有的key,第二次用key去取出对应的value。
- Iteratoriter=hashMap.[color=red]entrySet()[/color].iterator();
- while (iter.hasNext()){
- Map.Entryentry=(Map.Entry)iter.next();
- Stringkey=String.valueOf(entry.getKey());
- Stringval=String.valueOf(entry.getValue());
- }