`

Map.Entry 类使用简介

 
阅读更多

如何简便的遍历Map

你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?

 

使用JDK5的增强for循环,来遍历Map,简单多了,比Map.Entry还方便。

看代码:

for (String key : map.keySet()) {
    System.out.println(key + " : " + map.get(key));
}
 

 

 

 

最罗嗦遍历Map的方法:

 

Set keys = map.keySet( );
if(keys != null) {
Iterator iterator = keys.iterator( );
while(iterator.hasNext( )) {
Object key = iterator.next( );
Object value = map.get(key);
;....
;}
 

 

 

使用Map.Entry类,你可以得到在同一时间得到所有的信息。

Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的 对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。

Map.Entry同时也提供了一个setValue()方法

 

 

 

	private void a(){
		Map<String, String> values = new HashMap();
		for (Map.Entry entry : values.entrySet()) {
			Object key = entry.getKey( );
			Object value = entry.getValue();
		}
	}

 

 

分享到:
评论
7 楼 忽悠的猫 2013-06-13  

6 楼 elf8848 2012-05-22  
IceWee 写道
java5.0后的for循环是简单多了,这也就看不出Entry的简化了,看代码:
for (String key : map.keySet()) {
System.out.println(key + " : " + map.get(key));
}
System.out.println("----------------------");
for (Map.Entry<String, String> mp : map.entrySet()) {
System.out.println(mp.getKey() + " : " + mp.getValue());
}

好不错, 谢谢。
5 楼 IceWee 2012-05-22  
java5.0后的for循环是简单多了,这也就看不出Entry的简化了,看代码:
for (String key : map.keySet()) {
System.out.println(key + " : " + map.get(key));
}
System.out.println("----------------------");
for (Map.Entry<String, String> mp : map.entrySet()) {
System.out.println(mp.getKey() + " : " + mp.getValue());
}
4 楼 iwindyforest 2011-12-20  
iammonster 写道
你在迭代里面删除某个剑值对试试,呵呵,会有意外

用ConcurrentHashMap就可以了.
3 楼 yaozhiqiang109 2010-11-16  
Map循环时候操作Map会抛java.util.ConcurrentModificationException异常。。
2 楼 mexican 2010-04-22  
是啊,我试了,报错了  Exception in thread "main" java.util.ConcurrentModificationException,呵呵
1 楼 iammonster 2009-09-25  
你在迭代里面删除某个剑值对试试,呵呵,会有意外

相关推荐

    Java Map.Entry的使用方法解析

    System.out.println(entry.getKey()+"::::"+entry.getValue()); } } ``` 在上面的代码中,我们首先创建了一个HashMap对象,并将其初始化为一个空的Map集合。然后,我们使用put()方法将键值对添加到Map集合中。最后...

    另一种遍历Map的方式

    有多种遍历Map的方式,我们来讨论使用Map.Entry和Map.entrySet()的方式。 ### 方法一:使用Map.Entry和Map.entrySet() 使用Map.Entry和Map.entrySet()可以遍历整个Map,代码如下: ``` for (Map.Entry, String&gt; me...

    java循环Map java迭代Map

    Map a = new HashMap(); //方法一 Iterator it = a.entrySet().iterator(); while (it.hasNext()) { Map.Entry pairs = (Map.Entry) it.next();... System.out.println(entry.getKey()+"="+entry.getValue()); }

    无法解析类型 java.util.Map$Entry。从必需的 .class 文件间接引用了它

    这是我在编写struts2中遇到的问题,整理出来,包括截图,希望可以帮到大家

    map排序.txt

    returnMap.put(entry.getKey(), entry.getValue()); } return returnMap; } ``` **解析**: 1. **创建列表**:首先,通过`map.entrySet()`方法获取到一个包含所有映射关系(键值对)的Set集合,并将其转换为一个...

    Map,HashMap,TreeMap的使用

    Java 中的 Map、HashMap、TreeMap 使用详解 Map 是 Java 集合框架中的一个接口,用于存储键值对,...在上面的代码中,我们使用了 HashMap、TreeMap、LinkedHashMap 三种 Map 实现类,每种实现类都有其特点和使用场景。

    Java Map 按值排序

    .sorted(Map.Entry., Integer&gt;comparingByValue().reversed()) .collect(Collectors.toMap( Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -&gt; oldValue, // 解决键冲突问题 LinkedHashMap::...

    java8-如何使用Stream API对Map类型元素排序.pdf

    要按Map的键进行排序,我们可以使用`Map.Entry.comparingByKey()`作为排序依据。以下是一个示例: ```java Map, Integer&gt; codes = new HashMap(); codes.put("United States", 1); codes.put("Germany", 49); codes...

    java遍历Map对象的说有数据

    Object value = entry.getValue(); System.out.println("Key: " + key + ", Value: " + value); ``` 示例代码: ```java Map, String&gt; emails = new HashMap(); emails.put("alice@example.com", "Alice"); ...

    JavaMap.rar_arraylist map_collection_java map_javamap_地图 java

    Map接口提供了多种实现类,如HashMap、TreeMap、LinkedHashMap等,每种实现类有不同的特性和使用场景。例如,HashMap是基于哈希表的数据结构,提供了快速的插入、删除和查找操作,但其元素顺序是不确定的;而TreeMap...

    HashTable排序.txt

    这部分代码演示了如何使用`getSortedHashtableByKey`方法获取排序后的`Map.Entry`数组,并遍历打印出键和对应的值。 ### 按值排序HashTable 代码还提供了一个按值排序`HashTable`的方法: ```java public static ...

    Java Map 遍历比较齐全的解析.docx

    System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } ``` - **方法三:推荐,通过`Map.entrySet()`遍历(效率较高)** 这种方式同样可以同时访问`key`和`value`,但使用增强...

    map遍历的三种方法

    Map 遍历的三种方法 ... System.out.println(entry.getKey() + "---&gt;" + entry.getValue()); } } ``` 这三种方法都可以遍历 Map 集合,但它们有不同的优缺点。开发者可以根据实际情况选择合适的遍历方法。

    Map遍历方法总结

    System.out.println("key=" + entry.getKey() + " and value=" + entry.getValue()); } ``` - **优点**:可以同时获取键和值,避免了多次查询操作,提高了遍历效率。 - **缺点**:代码稍微复杂一些。 - **...

    jstl读取map.txt

    根据提供的文件信息,本文将详细解释如何使用JSTL(JavaServer Pages Standard Tag Library)来读取并处理一个名为`map.txt`的文件中的数据。这里主要关注的是如何利用JSTL中的`&lt;c:forEach&gt;`标签来遍历一个`java....

    java遍历大容量map的正确方法.pdf

    System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } ``` 3. **通过Map.entrySet遍历key和value(增强for循环)** 这种方式与第二种相似,也是遍历entrySet,但使用了Java 5...

    Map集合的四种遍历方式 .txt

    System.out.println("key=" + entry.getKey() + " and value=" + entry.getValue()); } ``` ### 3. 通过增强型`for`循环遍历`Map.entrySet()` 这种方式类似于第二种方法,但使用了增强型`for`循环,使得代码更加...

    Java中如何遍历Map对象的4种方法_.docx

    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } ``` 当遍历空 Map 时,需注意避免 `NullPointerException`,所以在遍历前最好检查 Map 是否为空。 2. **使用 for-each ...

    对Map按key和value分别排序

    Map 是键值对的集合接口,它的实现类主要包括 HashMap、TreeMap、Hashtable 及 LinkedHashMap 等。其中,TreeMap 是基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据...

    重要知识java中map集合的用法.pdf

    Map 集合是 Java 中一种非常常用的数据结构,了解 Map 集合的用法、Map 接口和方法、Map 的实现类、Map 的遍历和优化等方面的知识点,可以帮助开发者更好地使用 Map 集合,提高应用程序的性能和效率。

Global site tag (gtag.js) - Google Analytics