Java 简明教程

Java - Map Interface

Map Interface

Map 接口将唯一键映射到值。键是您稍后用来检索值的 object

  1. 给定键和值,您可以将其存储在 Map 对象中。存储值后,您可以使用其键来获取该值。

  2. 当调用映射中不存在任何项时,一些方法会引发 NoSuchElementException。

  3. 当一个对象与映射中的元素不兼容时,将引发 ClassCastException。

  4. 当试图使用 null 对象且 map 中不允许 null 时,抛出 NullPointerException。

  5. 当试图更改不可修改的映射时,抛出 UnsupportedOperationException。

Map Interface Methods

Sr.No.

Method & Description

1

void clear( ) 从引发映射中移除所有键/值对。

2

boolean containsKey(Object k) 如果引发映射包含 k 作为一个键,则返回 true。否则,返回 false。

3

boolean containsValue(Object v) 如果映射包含 v 作为一个值,则返回 true。否则,返回 false。

4

Set entrySet( ) 返回一个包含映射中条目的 Set。该集合包含类型为 Map.Entry 的对象。此方法提供了一个对引发映射的集合视图。

5

boolean equals(Object obj) 如果 obj 是一个 Map 且包含相同的条目,则返回 true。否则,返回 false。

6

Object get(Object k) 返回与键 k 关联的值。

7

int hashCode( ) 返回调用映射的哈希代码。

8

boolean isEmpty( ) 如果调用映射为空,则返回 true。否则,返回 false。

9

Set keySet( ) 返回一个包含调用映射中键的集合。此方法提供对调用映射中键的集合视图。

10

Object put(Object k, Object v) 在调用映射中添加一个条目,覆盖与键关联的任何先前值。键和值分别是 k 和 v。如果键不存在,则返回 null。否则,返回链接到该键的先前值。

11

void putAll(Map m)m 中的所有条目都放入此映射中。

12

Object remove(Object k) 删除其键等于 k 的条目。

13

int size( ) 返回映射中键/值对的数量。

14

Collection values( ) 返回一个包含映射中值的集合。此方法提供对映射中值的集合视图。

Classes that Implement Map

以下是可以使用 Map 的功能来实现 Map 的类 -

  1. HashMap

  2. EnumMap

  3. LinkedHashMap

  4. WeakHashMap

  5. TreeMap

Interfaces that Extend Map

以下是一些扩展了 Map 接口的接口 -

  1. SortedMap

  2. NavigableMap

  3. ConcurrentMap

Examples of Map Interface

Example 1

Map 在 HashMap 等类的实现中,以下是解释映射功能的示例 -

import java.util.HashMap;
import java.util.Map;
public class CollectionsDemo {

   public static void main(String[] args) {
      Map<String, String> m1 = new HashMap<>();
      m1.put("Zara", "8");
      m1.put("Mahnaz", "31");
      m1.put("Ayan", "12");
      m1.put("Daisy", "14");

      System.out.println();
      System.out.println(" Map Elements");
      System.out.print("\t" + m1);
   }
}
Map Elements
	{Daisy = 14, Ayan = 12, Zara = 8, Mahnaz = 31}

Example 2

Map 在 TreeMap 等类的实现中,它根据键对条目进行排序。以下是使用 TreeMap 说明映射功能的示例 -

import java.util.Map;
import java.util.TreeMap;

public class CollectionsDemo {

   public static void main(String[] args) {
      Map<String, String> m1 = new TreeMap<>();
      m1.put("Zara", "8");
      m1.put("Mahnaz", "31");
      m1.put("Ayan", "12");
      m1.put("Daisy", "14");

      System.out.println();
      System.out.println(" Map Elements");
      System.out.print("\t" + m1);
   }
}
 Map Elements
	{Ayan=12, Daisy=14, Mahnaz=31, Zara=8}

Example 3

映射在各种类中有着其实现,例如 HashMap。下面举例说明了使用 HashMap 来向映射添加和移除元素的映射功能:

import java.util.HashMap;
import java.util.Map;
public class CollectionsDemo {

   public static void main(String[] args) {
      Map<String, String> m1 = new HashMap<>();
      m1.put("Zara", "8");
      m1.put("Mahnaz", "31");
      m1.put("Ayan", "12");
      m1.put("Daisy", "14");

      System.out.println();
      System.out.println(" Map Elements");
      System.out.print("\t" + m1);

      m1.remove("Daisy");
	  System.out.println(" Map Elements");
      System.out.print("\t" + m1);
   }
}
 Map Elements
	{Daisy=14, Ayan=12, Zara=8, Mahnaz=31} Map Elements
	{Ayan=12, Zara=8, Mahnaz=31}