欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 遍历取出Map集合key-value数据的4种方法

程序员文章站 2022-07-22 09:38:21
将map集合存数据与取出数据全部放在一个类maptest中,方便阅读与查看 随便创建一个包,在包中新建一个class文件,(也可以不建包,直接新建一个class文件)...

将map集合存数据与取出数据全部放在一个类maptest中,方便阅读与查看

随便创建一个包,在包中新建一个class文件,(也可以不建包,直接新建一个class文件)

新建class文件maptest.java,代码如下:

import java.util.hashmap;
import java.util.iterator;
import java.util.map;
import java.util.map.entry;
import java.util.set;
 
public class maptest {
	public static void main(string[] args) {
		map<integer, string> map = new hashmap<>();
		//map集合存入数据
		map.put(1, "第一个value");
		map.put(2, "第二个value");
		map.put(3, "第三个value");
		
		//通过keyset取出map数据[for-each循环]
		system.out.println("-------[for-each循环遍历]通过keyset取出map数据-------");
		set<integer> keys = map.keyset();  //此行可省略,直接将map.keyset()写在for-each循环的条件中
		for(integer key:keys){
			system.out.println("key值:"+key+" value值:"+map.get(key));
		}
		
		//通过entryset取出map数据[for-each循环]
		system.out.println("-------[for-each循环遍历]通过entryset取出map数据-------");
		set<entry<integer, string>> entrys = map.entryset(); //此行可省略,直接将map.entryset()写在for-each循环的条件中
		for(entry<integer, string> entry:entrys){
			system.out.println("key值:"+entry.getkey()+" value值:"+entry.getvalue());
		}
		
		//通过keyset取出map数据[iterator遍历]
		system.out.println("-------[iterator循环遍历]通过keyset取出map数据---------");
		iterator<integer> it = map.keyset().iterator(); //map.keyset()得到的是set集合,可以使用迭代器遍历
		while(it.hasnext()){
			integer key = it.next();
			system.out.println("key值:"+key+" value值:"+map.get(key));
		}
		
		//通过entryset取出map数据[iterator遍历]
		system.out.println("-------[iterator循环遍历]通过entryset取出map数据---------");			
		iterator<entry<integer, string>> iterator = map.entryset().iterator(); //map.entryset()得到的是set集合,可以使用迭代器遍历
		while(iterator.hasnext()){
			entry<integer, string> entry = iterator.next();
			system.out.println("key值:"+entry.getkey()+" value值:"+entry.getvalue());
		}
	}	
}

控制台效果:

Java 遍历取出Map集合key-value数据的4种方法

知识补充:

  • list和set集合都实现了iterable接口,所以他们的实现类可以使用迭代器遍历,map集合未实现该接口,若要使用迭代器循环遍历,需要借助set集合
  • 推荐使用 entryset 遍历,效率更高。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。