Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误与异常

Java 多线程

Java 同步

Java 网络编程

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java APIs 与框架

Java 类参考

Java 有用资源

Java - Map.Entry 接口



Map.Entry 接口允许您使用映射条目。

Map 接口声明的entrySet()方法返回一个包含映射条目的 Set。这些集合元素中的每一个都是一个 Map.Entry 对象。

下表总结了此接口声明的方法:

序号 方法及描述
1

boolean equals(Object obj)

如果 obj 是一个 Map.Entry,其键和值等于调用对象的键和值,则返回 true。

2

Object getKey()

返回此映射条目的键。

3

Object getValue()

返回此映射条目的值。

4

int hashCode()

返回此映射条目的哈希码。

5

Object setValue(Object v)

将此映射条目的值设置为v。如果v不是映射的正确类型,则抛出 ClassCastException。如果v为 null 且映射不允许 null 键,则抛出 NullPointerException。如果映射不可更改,则抛出 UnsupportedOperationException。

示例 1

以下是一个示例,演示如何使用Map.Entry获取映射条目的值:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class HashMapDemo {

   public static void main(String args[]) {
      // Create a hash map
      HashMap<String, Double> hm = new HashMap<>();

      // Put elements to the map
      hm.put("Zara", Double.valueOf(3434.34));
      hm.put("Mahnaz", Double.valueOf(123.22));
      hm.put("Ayan", Double.valueOf(1378.00));
      hm.put("Daisy", Double.valueOf(99.22));
      hm.put("Qadir", Double.valueOf(-19.08));
      
      // Get a set of the entries
      Set<Map.Entry<String, Double>> set = hm.entrySet();
      
      // Get an iterator
      Iterator<Map.Entry<String, Double>> i = set.iterator();
     
      // Display elements 
      while(i.hasNext()) {
         Map.Entry<String, Double> me = i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
   }
}

输出

Daisy: 99.22
Ayan: 1378.0
Zara: 3434.34
Qadir: -19.08
Mahnaz: 123.22

示例 2

以下是一个示例,演示如何使用Map.Entry设置映射条目的值:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class HashMapDemo {

   public static void main(String args[]) {
      // Create a hash map
      HashMap<String, Double> hm = new HashMap<>();

      // Put elements to the map
      hm.put("Zara", Double.valueOf(3434.34));
      hm.put("Mahnaz", Double.valueOf(123.22));
      hm.put("Ayan", Double.valueOf(1378.00));
      hm.put("Daisy", Double.valueOf(99.22));
      hm.put("Qadir", Double.valueOf(-19.08));
      
      // Get a set of the entries
      Set<Map.Entry<String, Double>> set = hm.entrySet();
      
      // Get an iterator
      Iterator<Map.Entry<String, Double>> i = set.iterator();
     
      // Display elements 
      while(i.hasNext()) {
         Map.Entry<String, Double> me = i.next();
         me.setValue(me.getValue() * 10);
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
   }
}

输出

Daisy: 992.2
Ayan: 13780.0
Zara: 34343.4
Qadir: -190.79999999999998
Mahnaz: 1232.2

示例 3

以下是一个示例,演示如何使用Map.Entry获取映射条目的键:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class HashMapDemo {

   public static void main(String args[]) {
      // Create a hash map
      HashMap<String, Double> hm = new HashMap<>();

      // Put elements to the map
      hm.put("Zara", Double.valueOf(3434.34));
      hm.put("Mahnaz", Double.valueOf(123.22));
      hm.put("Ayan", Double.valueOf(1378.00));
      hm.put("Daisy", Double.valueOf(99.22));
      hm.put("Qadir", Double.valueOf(-19.08));
      
      // Get a set of the entries
      Set<Map.Entry<String, Double>> set = hm.entrySet();
      
      // Get an iterator
      Iterator<Map.Entry<String, Double>> i = set.iterator();
     
      // Display elements 
      while(i.hasNext()) {
         Map.Entry<String, Double> me = i.next();
         System.out.println(me.getKey());
      }
   }
}

输出

Daisy
Ayan
Zara
Qadir
Mahnaz
java_collections.htm
广告