Java中便历Map的几种方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中便历Map的几种方法相关的知识,希望对你有一定的参考价值。
常见的Map遍历有下面四种方法:
import java.util.Iterator;
import java.util.Map.Entry;
public class MapDemo
public static void main(String[] args)
// 准备好需要遍历的Map
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("Tom", 85);
map.put("Jack", 97);
test1(map);
test2(map);
test3(map);
test4(map);
// 方法一: 迭代器方式
// 特点: 效率高,速度快,但是代码量多
public static void test1(HashMap<String, Integer> map)
Iterator<Entry<String, Integer>> it = map.entrySet().iterator();
while (it.hasNext())
Entry<String, Integer> e = it.next();
System.out.println("name:" + e.getKey() + "\\tscore:" + e.getValue());
// 方法二: map.entrySet() for循环
// 特点: 效率也较高,速度较快,且写法比方法一简单
public static void test2(HashMap<String, Integer> map)
for (Entry<String, Integer> e : map.entrySet())
System.out.println("name:" + e.getKey() + "\\tscore:" + e.getValue());
// 方法3 map.keySet for循环
// 特点:效率较慢
public static void test3(HashMap<String, Integer> map)
for (String key : map.keySet())
System.out.println("name:" + key + "\\tscore:" + map.get(key));
// 方法四: forEach
// 特点 速度较慢,但是代码少,简洁; (需要Java8或以上版本的支持)
public static void test4(HashMap<String, Integer> map)
map.forEach((k, v) -> System.out.println("name:" + k + "\\tscore:" + v));
四种方法之间的效率比较
(test1≈test2)>(test3≈test4)
推荐: 数据量特别大的时候 使用方法1 : 代码长,但是效率高
数据量较少的, 那么使用方法4: 代码简洁而优雅~
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class MapT
public static void main(String[] args)
Map<Object, Object> map=new HashMap<Object, Object>();
map.put("code", "001");
map.put("name", "信息管理部");
Iterator<Entry<Object, Object>> iterator = map.entrySet().iterator();
while(iterator.hasNext())
Entry<Object, Object> next = iterator.next();
System.out.println(next.getKey()+":"+next.getValue());
Java Map初始化的几种方法
Java Map初始化的几种方法_思念又何曾放过我的博客-CSDN博客_java map初始化
以上是关于Java中便历Map的几种方法的主要内容,如果未能解决你的问题,请参考以下文章