下面给出java中Map集合遍历的4种方式
第一种第二种因迭代器是单列集合,需将双列集合转为单列集合
import java.util.*;
public class MapTest {
public static void main(String[] args) {
HashMap<String,Integer> map = new HashMap<>();
map.put("hh",101);
map.put("kk",102);
map.put("tyty",103);
map.put("kk",101);
//遍历map集合
//迭代器只能遍历单列集合,下面方式1 2 可将map这个双列集变为单列集合遍历
//方式一 获取key的Set 集合,使用的方法是keySet()
System.out.println("方式一 获取key的Set 集合,使用的方法是keySet()");
Set<String> set = map.keySet();
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()){
String key = iterator.next();
Integer value = map.get(key);
System.out.println(key+"="+value);
}
System.out.println();
//方式二 通过entrySet方法获取(key,value)的set集合
System.out.println("方式二 通过entrySet方法获取(key,value)的set集合");
Set<Map.Entry<String,Integer>> sets = map.entrySet();
Iterator<Map.Entry<String,Integer>> itor = sets.iterator();
while(itor.hasNext()){
Map.Entry<String,Integer> entry = itor.next();
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println(key+"="+value);
}
System.out.println();
//方式三 通过Values方法获取value的集合(此功能单一用的少)
System.out.println("方式三 通过Values方法获取value的集合(此功能单一用的少)");
Collection<Integer> col = map.values();
for(Integer x : col){
System.out.println(x+ "");
}
System.out.println();
//方式四 通过forEach方法遍历
System.out.println("方式四 通过forEach方法遍历");
map.forEach((k,v) -> System.out.println(k+"="+v));
}
}
运行截图