提供了四个方法,看个人喜欢!
方法一
数据:
Map<Integer, String> map = new HashMap<>();
map.put( 1, "jack" );
map.put( 2, "昊哥" );
map.put( 3, "欢欢" );
map.put( 4, "Tom" );
//遍历map集合(第一种)
//第一种遍历map的方式,先遍历map集合所有的键,再根据键在获取相应的值
//使用iterator遍历
Set<Integer> keyset = map.keySet(); //返回key的视图 [1,2,3,4]
//获取Iterator对象
Iterator<Integer> it = keyset.iterator();
while (it.hasNext()) {
Integer key = it.next(); //迭代之后用next方法将key遍历出来
String value = map.get( key ); // 获得key 之后根据key 提取 value
System.out.println( "[" + key + "," + value + "]" );
方法二
//第二种方式,获取集合中所有的映射关系,然后从映射关系中取出键和值
Set<Map.Entry<Integer, String>> entries = map.entrySet(); //获取集合中所有的映射关系
Iterator<Map.Entry<Integer, String>> iterator = entries.iterator();
while (iterator.hasNext()) {
Map.Entry<Integer, String> enkey = iterator.next(); //获取集合中的键值对
Integer enkeyKey = enkey.getKey();// 获取集合中的key
String enkeyValue = enkey.getValue();//获取集合中的value
System.out.println( "[" + enkeyKey + "," + enkeyValue + "]" );
}
方法三
map.forEach( new BiConsumer<Integer, String>() {
@Override
public void accept(Integer integer, String s) {
System.out.println( "[" + integer + "," + s + "]" );
}
} );
方法四
//第四种方式
map.forEach( (k, v) -> {
System.out.println( "[" + k + "," + v + "]" );
} );