HashMap的几种遍历

首先创建一个Map集合,里面放三个键值对

HashMap map = new HashMap();

for(int i=1;i<=3;i++){

map.put(i,"哈哈"+i);

}

1.第一种遍历方式:keySet()方法,得到一个key的set集合,然后遍历set集合,再利用get(key)方法得到对应key的value值(效率低下)

System.out.println("Map的第一种遍历:keySet()--性能差(建议不使用此方法) ");

//这种遍历方式:首先是将map中得key作为一个Set集合,

// 然后根据map的get(key)方法得到value,性能差(建议不使用此方法)

for (int key:map.keySet()) {

System.out.println("键: "+key+" 值: "+map.get(key));

}

System.out.println("====================================================");

2.第二种遍历方式:利用Iterator遍历器遍历(用的比较普遍)

System.out.println("Map的第二种遍历:Iterator遍历器遍历");

Iterator iterators = map.entrySet().iterator();

while(iterators.hasNext()){

Map.Entry entry=(Map.Entry)iterators.next();

System.out.println("键: "+entry.getKey()+" 值: "+entry.getValue());

}

System.out.println("====================================================");

3.第三种遍历方式:用map中得entrySet()方法,得到一个entry<>(),然后用entry的getKey()和getValue()方法分别得到Key和Value的值(效率比较高!entry在英文中的意思就是记录 的意思)

System.out.println("Map的第三种遍历:通过Map.entrySet遍历key和value--推荐,尤其是容量大时");

for(Map.Entry entry: map.entrySet())

{

System.out.println("键: "+ entry.getKey()+ " 值: "+entry.getValue());

}

System.out.println("====================================================");

4.第四种遍历方式:直接用map的map.values()方法,得到一个values的集合,然后直接遍历,只能得到value的值,没办法得到key的值

System.out.println("通过Map.values()遍历所有的value,但不能遍历key");

for(String value:map.values())

{

System.out.println("值: "+value);

}

你可能感兴趣的:(HashMap的几种遍历)