Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。从概念上而言,您可以将 List 看作是具有数值键的 Map。而实际上,除了 List 和 Map 都在定义 java.util 中外,两者并没有直接的联系。
package com.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Test { public static void main(String[] args) { Map<String, Double> map = new HashMap<String, Double>(); map.put("key1", Math.random()); map.put("key2", Math.random()); map.put("key3", Math.random()); /* * 第一种:通过Map.keySet遍历key和value */ for (String key : map.keySet()) { System.out.println("key= " + key + " and value= " + map.get(key)); } /* * 第二种:通过Map.entrySet使用iterator遍历key和value */ Iterator<Map.Entry<String, Double>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, Double> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } /* * 第三种:通过Map.entrySet遍历key和value(推荐,尤其是容量大时) */ System.out.println(""); for (Map.Entry<String, Double> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } /* * 第四种:通过Map.values()遍历所有的value,但不能遍历key */ for (Double v : map.values()) { System.out.println("value= " + v); } } }