Java 遍历取出Map集合key-value数据的4种方法
程序员文章站
2023-11-22 11:59:40
将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()); } } }
控制台效果:
知识补充:
- list和set集合都实现了iterable接口,所以他们的实现类可以使用迭代器遍历,map集合未实现该接口,若要使用迭代器循环遍历,需要借助set集合
- 推荐使用 entryset 遍历,效率更高。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。