Map遍历key-value

发布时间 2023-09-12 10:16:33作者: 種瓜得豆

Map遍历key-value的四种方法

1、先用keySet()取出所有key值,再取出对应value——增强for循环遍历
2、先用keySet()取出所有key值,再取出对应value——使用迭代器遍历
3、通过entrySet来获取key-value——增强for循环遍历
4、通过entrySet来获取key-value——使用迭代器遍历
Map.Entry是Map的一个内部接口。Map提供了一些常用方法,如keySet()、entrySet()等方法,
keySet()方法返回值是Map中key值的Set集合;
entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry<K, V>。
Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。
它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。

数据:

HashMap hashMap = new HashMap();
hashMap.put("三国演义","罗贯中");
hashMap.put("水浒传","施耐庵");
hashMap.put("西游记","吴承恩");
hashMap.put("红楼梦","曹雪芹");

方法一:先用keySet()取出所有key值,再取出对应value——使用迭代器遍历

Set keyset = hashMap.keySet();
for(Object key:keyset){
    System.out.println(key+"-"+hashMap.get(key));
}

方法二:先取出所有的key,再通过key取出对应的value——使用迭代器遍历

Iterator iterator = hashMap.keyset.iterator();
while(iterator.hasNext()){
    Object key = iterator.next();
    System.out.println(key+"-"+hashMap.get(key));
}

方法三:通过entrySet()获得key-value值——增强for循环遍历

Set set = hashMap.entrySet();
for(Object key:set){
    Map.Entry entry = (Map.Entry) key;
    System.out.println(entry.getKey()+"-"+entry.getValue());
}

方法四:通过entrySet()获得key-value值——使用迭代器遍历

Set set1 = hashMap.entrySet();
Iterator iterator1 = set1.iterator();
while(iterator1.hasNext()){
    Object itset = iterator1.next();
    Map.Entry entry = (Map.Entry) itset;
    System.out.println(entry.getKey()+"-"+entry.getValue());
}