java 中map遍历的四种方法和优缺点

/**

* 在for-each循环中使用entries来遍历

* 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用

* 如果遍历的是一个空的map,会报数组越界 ,java5引入,不兼容老版本

* @param map

*/

public void methodOne(Map<Integer, Integer> map){

for (Map.Entry<Integer, Integer> entry : map.entrySet()) {

System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

}

}

/**

* 在for-each循环中遍历keys或values。

* 如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet

* 比方法一效率高10%

*/

public  void methodTwo(Map<Integer,Integer>map){

//遍历key

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

System.out.println("Key = " + key);

}

//遍历map中的值

for (Integer value : map.values()) {

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

}

}

/**

* 使用iterator遍历,分为加泛型遍历,不加泛型遍历

* 优点 兼容老版本,遍历时可以调用remove删除,for_each遍历不能删除,遍历速度和for_each一样

*/

public void methodThreeY(Map<Integer,Integer>map){

Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();

while (entries.hasNext()) {

Map.Entry<Integer, Integer> entry = entries.next();

System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

}

}

/**

* 没有泛型的iterator遍历

* @param map

*/

public void methodThreeN(Map map){

Iterator entries = map.entrySet().iterator();

while (entries.hasNext()) {

Map.Entry entry = (Map.Entry) entries.next();

Integer key = (Integer)entry.getKey();

Integer value = (Integer)entry.getValue();

System.out.println("Key = " + key + ", Value = " + value);

}

}

/**

* 通过键值遍历(效率低)

* 代码干净,方法一的替代

*/

public void methodFour(Map<Integer,Integer>map){

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

Integer value = map.get(key);

System.out.println("Key = " + key + ", Value = " + value);

}

}

时间: 2024-12-17 14:27:33

java 中map遍历的四种方法和优缺点的相关文章

map遍历的四种方法

public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>();  map.put("1", "value1");  map.put("2", "value2");  map.put("3", "value3");    //第一种:普

Java中解析XML的四种方法

XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transform

Java中Xml解析(四种方法)

1.DOM,Document Object Model,基于DOM的XML分析器将XML文档转换成一个对象模型的集合(DOC树),通过对此模型操作实现对XML文档数据的操作,可以在任何时候对XML文档的任何一部分数据进行访问. DOC强制使用树模型来访问XML文档中信息 很灵活,当XML文档较大时对内存需求比较高,而且对结构复杂的DOC树的遍历也很耗时,对机器要求比较高. // step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器) DocumentBuilderFactory

map遍历的四种方式

原文 http://blog.csdn.net/dayanxuqun/article/details/26348277 以下是map遍历的四种方式: [java] view plaincopyprint? // 一.推荐只用value的时候用,都懂的... // Map.values()遍历所有的value,不遍历key for (String v : map.values()) { System.out.println("value= " + v); } [java] view pl

Java解析XML文件的四种方法

[摘要] 可扩展标志语言(XML)在实现信息标准化.信息的交流与共享上有其独特的技术优势,因此受到了广泛的重视.本文先简单的介绍了XML基本知识,然后从XML应用入手总结了四种现今最常见的XML的解析方法,介绍了这四种方法的特点,其中包括优点与不足之处.最后给出了一个简单的案例来对这四种解析进行代码介绍. [关键字] XML文件,DOM,SAX,JDOM,DOM4J [引言] XML即可扩展标记语言(EXtensible Markup Language),是标准通用标记语言的子集,是一种用于标记

JAVA中集合输出的四种方式

在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello { public static void main(String[] args) throws Exception { Set<Person> javaProgramers = new HashSet<Person>(); javaProgramers.add(new Person("aaron&qu

java中内部类的创建四种情况,三种方式,及内部数据访问权限

内部类和外部类的关系,及内部静态类的数据访问权限,声明方式. 第一种,在外部类内部声明使用内部类,内部类的类型为static和非 static类型,内部类数据类型为private,protected,public 类型的访问权限.外部类为非静态声明和权限如下: package com; public class Test1 { //@author 张春蕾 private class Name{ private int i =1; public int s = 2; protected int m

PHP中数组遍历常用几种方法

在编码的过程中,对指定的数组进行遍历是再常见不过的事了.在遍历的过程中,很多的语言都是利用for循环进行遍历,方便快捷.但是PHP中,对于数组的下标与有些语言不同.PHP中数组的下标可以为字符串,也可以字符串和数字混合,也就是所谓的关联数组.如果下标是纯数字的话,那就是索引数组了. 1.for() for()进行遍历时,有个局限,如果是关联数组的话,就不能根据下标的递增来遍历了,突然冒出了字符串的话,肯定会报错.所以在PHP中,for()能使用的范围也就是索引数组了. <?php     $ar

PHP从数组中删除元素的四种方法实例

本篇文章主要介绍了PHP从数组中删除元素的四种方法实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 茴香豆的"茴"字有四种写法,PHP从数组中删除元素也有四种方法 ^_^. 删除一个元素,且保持原有索引不变 使用 unset 函数,示例如下: <?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[