【遍历Map/HashMap的各种方法】

遍历Map集合之前需要定义一个Map集合对象:

Map<String,String> map = new LinkedHashMap<String,String>();
map.put("1","one");
map.put("2","two");
map.put("3","three");

new LinkedHashMap对象,主要是确保集合map中的元素是按照插入的顺序存放的。

1、使用keySet()方法遍历

使用keySet()方法遍历,是先取出map的key组成的set集合,通过对set集合的遍历,然后使用map.get(key)方法获取value的值。

for(String key:map.keySet()){
    System.out.println(key+":"+map.get(key));
}

2、使用map的values()方法遍历集合的values

map.values()返回的是由map的值组成的Collection,这个方法只能遍历map中的value值,不能得到map的key值。

for(String value:map.values()){
    System.out.println("value:"+value);
}

3、使用map的entrySet()方法遍历

使用map的entrySet()方法返回一个Entry为元素的Set集合,然后对Set集合进行遍历。

for(Entry<String,String> entry:map.entrySet()){
     System.out.println(entry.getKey()+":"+entry.getValue());
}

4、通过KeySet()返回的集合的iterator遍历

由于map.keySet()返回的是一个Set集合,通过iterator()方法返回一个迭代器,通过迭代器遍历map。

Iterator<String> it = map.keySet().iterator();
while(it.hasNext){
    String key = it.next();
    Sytem.out.println(key+":"+map.get(key));
}

5. 通过values()返回的Collection的iterator遍历

map.values()方法返回的是一个Collection对象,这个集合对象可以使用iterator方法访问。

Iterator<String> it = map.values().iterator();
while(it.hasNext()) {
    String key = it.next();
    System.out.println(key + " : " + map.get(key));
}

6. 通过entrySet()返回的Set的iterator遍历

同上,map.entrySet()方法返回的是一个Set<Entry<String, String»类型的集合,可以使用iterator来访问该集合.

Iterator<Entry<String, String>> it = map.entrySet().iterator();
while(it.hasNext()) {
    Entry<String, String> entry = it.next();
    System.out.println(entry.getKey() + " : " +     entry.getValue());
}

猜你喜欢

转载自blog.csdn.net/Mrchai521/article/details/106228869