我是靠谱客的博主 忧虑毛衣,最近开发中收集的这篇文章主要介绍Java遍历HashMap的两种方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

通过keySet方法

由于Map中的元素都是“key-value”形式的,且key值唯一。因此可以将所有的key值存放到一个集合中,通过遍历这个集合,就能得到所有的key,进而得到对应的value值。方法概述如下:

  1. 使用keySet方法将Map中的所有key取出来,存放到一个集合中;
  2. 对这个集合进行遍历(迭代器/增强for),得到每一个key;
  3. 使用Map中的get方法,得到每一个key值对应的value。

实现代码如下:

//创建HashMap
Map<String,Integer> mp = new HashMap();
mp.put("Zhangsan", 18);
mp.put("Lisi", 19);
mp.put("Wangwu", 21);
		
//通过keySet方法,将HashMap中的key提取出来,并放入一个集合set中
Set<String> set = mp.keySet();
//通过对这个set的迭代,结合get方法,对整个HashMap进行遍历
Iterator it = set.iterator();
while(it.hasNext())
{
	String str = (String)it.next();		//得到key
	System.out.println(str + ":" + mp.get(str));  //得到value
}

//或使用增强for循环遍历set
for(String x: mp.keySet())
{
		System.out.println(x + ":" + mp.get(x));
}

通过Entry对象

Entry对象是Map下面的一个类,以“key-value”形式存在,一个Map中存在若干个Entry对象。因此可以将Map中所有的Entry对象取出来,存放到集合中,再对这个集合进行遍历。具体实现步骤如下:

  1. 使用Map集合中的方法entrySet(),把Map中的多个Entry对象取出来,存放到一个集合Set中;
  2. 遍历这个Set集合,得到每一个Entry对象;
  3. 通过Entry对象的getKey()和getValue()方法获取键和值。

实现代码如下:

//创建HashMap
Map<String,Integer> mp = new HashMap();
mp.put("Zhangsan", 18);
mp.put("Lisi", 19);
mp.put("Wangwu", 21);
//通过Map集合的entrySet方法,将Map中的所有Entry对象取出来,存放到一个集合set2中
Set<Map.Entry<String, Integer>> set2 = mp.entrySet();
//使用set2集合,对每一个Entry对象进行遍历
Iterator<Map.Entry<String, Integer>> it2 = set2.iterator();
while(it2.hasNext())
{
	Map.Entry<String, Integer> entry = it2.next();
	//使用getKey()和getValue()方法得到键和值
	String str = entry.getKey();
	Integer num = entry.getValue();
	System.out.println(str + " " + num);
}
		
for(Map.Entry<String, Integer> entry: set2)
{
	String str = entry.getKey();
	Integer num = entry.getValue();
	System.out.println(str + " " + num);
}

最后

以上就是忧虑毛衣为你收集整理的Java遍历HashMap的两种方式的全部内容,希望文章能够帮你解决Java遍历HashMap的两种方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部