今天看Think in java 的GUI这一章的时候,里面的TextArea这个例子在遍历Map时用到了Map.Entry 和 Map.entrySet() ,记得只见过Map.KeySet()和values()这两个方法,于是到API中一看,Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。
Map.Entry里有相应的getKey和getValue方法,让我们能够从一个项中取出Key和Value。这样就能理解了例子中的写法了。
for(Map.Entry me : m.entrySet()) {
t.append(me.getKey() + ": " + me.getValue() + "\n");
}
这里的t是一个TextArea,m是一个HashMap。
这种遍历Map的方法可以让我们在从Map中取得关键字之后,我们不用每次重复返回到Map中取得相对的值。
如下面是以前的写法:每次都要再从m中读出s所对应的值。
Set<String> keys = m.keySet( );
if(keys != null)
for(String s : keys)
t.append(s + ": " + m.get(s) + "\n");
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mageshuai/archive/2008/12/15/3523116.aspx
分享到:
相关推荐
今天,我们来讨论一种遍历Map的方式,即使用Map.Entry和Map.entrySet()。 Map.Entry是什么? ---------------- Map.Entry是一个接口,表示一个映射项,里面有Key和Value。它有两个方法:getKey()和getValue(),...
另一种常用的方法是通过`Map.entrySet()`方法获取键值对的集合视图,然后使用`Iterator`进行遍历。这种方法可以直接访问键值对,而不需要通过键获取值。 **代码示例:** ```java Iterator<Map.Entry, String>> ...
Java Map.Entry是Java集合框架中Map接口的一个嵌套接口,用于封装键值对对象,使得在遍历Map集合时可以从每一个键值对对象中获取对应的键与对应的值。在本文中,我们将详细介绍Java Map.Entry的使用方法,并通过示例...
以上介绍了两种遍历`Map`的方法:一种是通过`entrySet()`方法,另一种是通过`keySet()`方法。其中,使用`entrySet()`可以直接获取到键值对,而使用`keySet()`则需要额外调用`get()`方法来获取对应的值。这两种方法各...
`keySet()`需要两次遍历:一次是转换为迭代器,另一次是从HashMap中根据键获取值。而`entrySet()`则直接提供键值对,避免了额外的查找步骤。 在实际开发中,尤其是处理大数据量的Map时,选择`entrySet()`进行遍历是...
### Java中遍历Map的四种方式及性能比较 在Java编程中,`Map`是一种非常重要的数据结构,用于存储键值对。对于`Map`的遍历,不同的遍历方式有着不同的性能表现以及适用场景。本文将详细介绍四种常见的遍历`Map`的...
总结起来,Java中Map集合的遍历方法各有优缺点,选择哪种方式取决于具体需求,如是否需要键和值,是否关心遍历顺序,以及是否利用Java 8的Stream API进行更复杂的操作。在实际开发中,理解和熟练掌握这些遍历方式将...
以下是对标题和描述中提及的四种遍历Map方法的详细说明: 1. **通过Map.keySet遍历key和value** 这种方法是最直观的,直接获取Map的keySet并进行迭代。代码简洁,但存在效率问题。在遍历过程中,每次获取value都...
本文将详细介绍四种不同的遍历`Map`的方式,并通过具体的代码示例来解释每种方法的特点及适用场景。 #### 一、通过`Map.keySet()`遍历键和值 这种方法首先获取`Map`的所有键集合(`keySet`),然后通过迭代器或者...
总结,Java中遍历`Map`主要有四种方式,其中通过`Map.entrySet()`进行遍历通常被认为效率较高,尤其在`Map`容量较大的情况下。而在Java 8之后,我们可以利用Lambda表达式简化遍历操作。获取`Map`的长度直接调用`size...
下面我们将详细讲解几种遍历Map集合的方法。 首先,我们来看普通Java类中的遍历方式: 1. **遍历键集合**:Map集合提供了keySet()方法,返回一个包含所有键的Set视图。可以通过迭代器或增强for循环遍历这个键集合...
在 Java 中,遍历 Map 对象是常见的操作,因为我们需要访问和处理存储的键值对。以下是四种遍历 Map 的方法: 1. **使用 for-each 循环遍历 entries** 这是最简单且推荐的遍历方式,适用于需要同时访问键和值的...
两种方法都可以用于遍历Map集合,但是它们之间有一些区别。在实际开发中,我们可以根据实际情况选择合适的遍历方法。 优点和缺点 使用values()方法和Iterator迭代器的优点: * 该方法能够快速地遍历Map集合中的...
Map 遍历是集合操作中的一种重要操作,一般来说,有三种方式来遍历 Map 集合:使用 values() 方法遍历、使用 keySet() 方法遍历和使用 entrySet() 方法遍历。 第一种方法:使用 values() 方法遍历 这个方法是最...
1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value; 2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 读取Map中的元素; 3、...
这是最简洁的遍历Map的方式,可以方便地同时访问key和value。 在实际开发中,根据具体需求选择合适的遍历方法,例如,如果只需要访问key而不关心value,那么使用keySet遍历Map会更高效。同时,增强型for循环由于其...
- **entrySet()遍历**:最灵活,可以同时访问键和值,适用于需要同时处理键和值的复杂操作,但效率相对较低,因为需要创建额外的`Entry`对象。 在实际开发中,选择哪种遍历方式取决于具体的需求。如果只需要处理值...
### 二、使用keySet遍历Map `Map`提供了一个`keySet()`方法,该方法返回`Map`中所有键的集合视图。通过这个方法,我们可以获取到一个包含所有键的`Set`集合,然后使用迭代器(`Iterator`)或增强型for循环(foreach...
在遍历Map时,我们通常有三种方式: 1. 使用keySet方法获取所有键,然后遍历这些键,通过键来获取对应的值。 示例代码如下: ```java Map, String> map = new HashMap(); map.put("a", "1"); map.put("b", "2...