java 全局 map_java 遍历 Map的四种方法

public static void main(String[] args) {

Map map = new HashMap();

map.put("1", "value1");

map.put("2", "value2");

map.put("3", "value3");

//第一种:普遍使用,二次取值

System.out.println("通过Map.keySet遍历key和value:");

for (String key : map.keySet()) {

System.out.println("key= "+ key + " and value= " + map.get(key));

}

//第二种

System.out.println("通过Map.entrySet使用iterator遍历key和value:");

Iterator> it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry entry = it.next();

System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

}

//第三种:推荐,尤其是容量大时

System.out.println("通过Map.entrySet遍历key和value");

for (Map.Entry entry : map.entrySet()) {

System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

}

//第四种

System.out.println("通过Map.values()遍历所有的value,但不能遍历key");

for (String v : map.values()) {

System.out.println("value= " + v);

}

}

Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。

这里,java.util.Map也用作命名空间。 条目不属于全局范围,这意味着有许多其他实体是条目,不需要Map的条目。 这表示Entry与Map相关的条目。

因为接口不能被实例化,所以内部接口只有在是静态的时才有意义。 因此,默认inter interface是静态的,无论你手动添加静态还是不是。

AAffA0nNPuCLAAAAAElFTkSuQmCC


版权声明:本文为weixin_32316643原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。