一、前言
1、在看 《阿里巴巴java开发手册》时候,有一条推荐的规约: 【推荐】使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历。 说明:keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从hashMap中取出key所对应的value。而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。 ---- 那么如何理解那一段话呢? map 集合如何遍历效率高?
二、Map集合的遍历
1、根据 key 找 value
获取所有的 key 集合。 map.keySet()
遍历 key 集合。
根据 key 到集合中去找 value 。 map.get(key)
2、根据 key--value 键值对 找键和值
获取所有的 key--value键值对集合。 map.entrySet()
遍历键值对集合,获取每一个键值对对象。
根据键值对对象,获取 key 键 和 value 值。 entry.getKey(); entry.getValue();
3、遍历values 值对象: map.values();
三、代码实现
1、 遍历测试代码如下:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import org.junit.Test;
/**
* description: 遍历Map集合效率比较
* @version v1.0
* @author w<