`

【J2SE】Map.Entry 类使用简介

    博客分类:
  • J2SE
阅读更多
本文转自:http://www.cnblogs.com/guoxu/articles/1703393.html

    你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的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中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。
    幸运的是,这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:

Set entries = map.entrySet( );
if(entries != null) {
Iterator iterator = entries.iterator( );
while(iterator.hasNext( )) {
Map.Entry entry =iterator.next( );
Object key = entry.getKey( );
Object value = entry.getValue();
;....
}
} 

    尽管增加了一行代码,我们却省略了许多对Map不必要的“get”调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。Map.Entry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。
分享到:
评论

相关推荐

    javase知识的回顾

    10. **Map.Entry接口**:表示Map中的一个键值对,Map中的每个元素都是一个Map.Entry实例。 在Java 5之后,类集框架引入了泛型,增强了类型安全。使用泛型,我们可以指定集合元素的类型,避免了运行时的...

    Java for循环几种写法整理

    System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()); } ``` 这种方式可以同时访问Map的键和值。 5. 并行for-each循环(Java 8+): 自Java 8起,可以使用`Parallel Streams`进行...

    学习Object类——为什么要重写equeals和hashcode方法

    Object 类的 equals 和 hashCode 方法的重要性与实现 在 Java 编程语言中,Object 类是所有类的父类,但是在实际开发中,我们往往需要重写 Object 中的 equals 和 hashCode 方法,以便正确地比较对象的逻辑内容,而...

    java并发笔记

    - 如`HashMap`的实现,其状态不仅存在于自身,还分布在多个`Map.Entry`对象中,需要特别注意同步访问。 - **锁的概念与使用**: - Java中每个对象都可以作为锁的对象,称为内部锁或监视锁。 - 线程在进入`...

    spring定时计划讲义

    2. 使用`MethodInvokingJobDetailFactoryBean`工厂创建作业:这种方式允许你直接指定一个方法作为任务的执行体,而不是创建一个完整的Job类。 包装作业: 在Quartz中,实际的Job实例需要通过`JobDetail`来定义。...

Global site tag (gtag.js) - Google Analytics