java Map 怎么遍历
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Map 怎么遍历相关的知识,希望对你有一定的参考价值。
怎么遍历最快的
参考技术A这个其实有点吹毛求疵了。代码应该在可读性要求满足的情况下实现高性能。
不知道你有没有听过clean code概念,clean code是一本书的名字,有兴趣可以拿来读一读。可以认为包含四个原则
1、高可读性性,即代码明白易懂
2、高扩展性,即在源代码的基础上需要改动很小就可以增加新的功能。
3、可测试性,现在的流行的敏捷开发,特别看重测试,有个方法叫做测试驱动开发,这也是一本书的名字,可以读一下。
4、高性能,在满足其他要求的基础上关注这个要求。
当然有时候我们需要再可读性和高性能之间取得一个平衡。
我能提供的代码如下:
/** for me, this is a time, in which never write java code.
* e-mail:qinchuanqing918@sina.com
* data:2015/5/22
* author:qcq
* */
package com.nokia;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Set;
public class MapIter
public static void main(String[] args)
Map<Integer, Integer> data = new HashMap<Integer, Integer>();
Random rand = new Random();
for (int i = 0; i < 100; i++)
data.put(i, rand.nextInt());
/*The first method print with key and value pair*/
Set<Integer> keyset = data.keySet();
for (Integer key:keyset)
System.out.println(key + " " + data.get(key));
/*The second method print directly*/
System.out.println(data);
本回答被提问者和网友采纳 参考技术B 两种方法:
一种是 Entry;map.entrySet();
如果要遍历最快的话 我觉得应该是用迭代器遍历,不需要查找顺序的一个个打印肯定是最快
Iterator<Entry<String, Integer>> it = map.entrySet().iterator();
while (it.hasNext())
Map.Entry<String, Integer> entry = it.next();
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("key = " + key + "; value = " + value);
另一种是 key;map.keySet();
以上是关于java Map 怎么遍历的主要内容,如果未能解决你的问题,请参考以下文章