Java Map 接口怎么用?

文章导读
上一个 测验 下一个 Map 接口 Map 接口将唯一的键映射到值。键是一个对象,您可以用它在以后检索值。
📋 目录
  1. A Map 接口
  2. B Map 接口方法
  3. C 实现 Map 的类
  4. D 扩展 Map 的接口
  5. E Map 接口示例
A A

Java - Map 接口



上一个
测验
下一个

Map 接口

Map 接口将唯一的键映射到值。键是一个对象,您可以用它在以后检索值。

  • 给定一个键和一个值,您可以将值存储在 Map 对象中。存储值后,您可以使用其键检索它。

  • 当调用 map 中不存在项目时,几个方法会抛出 NoSuchElementException。

  • 当对象与 map 中的元素不兼容时,会抛出 ClassCastException。

  • 如果尝试使用 null 对象且 map 中不允许 null,则会抛出 NullPointerException。

  • 当尝试修改不可变 map 时,会抛出 UnsupportedOperationException。

Map 接口方法

序号 方法 & 描述
1

void clear( )

从调用 map 中移除所有键/值对。

2

boolean containsKey(Object k)

如果调用 map 包含 k 作为键,则返回 true。否则,返回 false。

3

boolean containsValue(Object v)

如果 map 包含 v 作为值,则返回 true。否则,返回 false。

4

Set entrySet( )

返回一个包含 map 中条目的 Set。该 set 包含 Map.Entry 类型的对象。此方法提供调用 map 的 set 视图。

5

boolean equals(Object obj)

如果 obj 是 Map 且包含相同的条目,则返回 true。否则,返回 false。

6

Object get(Object k)

返回与键 k 关联的值。

7

int hashCode( )

返回调用 map 的 hash code。

8

boolean isEmpty( )

如果调用 map 为空,则返回 true。否则,返回 false。

9

Set keySet( )

返回一个包含调用 map 中键的 Set。此方法提供调用 map 中键的 set 视图。

10

Object put(Object k, Object v)

在调用 map 中放入一个条目,覆盖与键关联的任何先前值。键和值分别是 k 和 v。如果键之前不存在,则返回 null。否则,返回与键链接的先前值。

11

void putAll(Map m)

m 中的所有条目放入此 map。

12

Object remove(Object k)

移除键等于 k 的条目。

13

int size( )

返回 map 中键/值对的数量。

14

Collection values( )

返回一个包含 map 中值的 collection。此方法提供 map 中值的 collection 视图。

实现 Map 的类

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

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

扩展 Map 的接口

以下是扩展 Map 接口的接口 -

  • SortedMap
  • NavigableMap
  • ConcurrentMap

Map 接口示例

示例 1

Map 在诸如 HashMap 等各种类中有其实现。以下是一个示例,用于解释 map 功能 −

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}

示例 2

Map 在诸如 TreeMap 等各种类中有其实现,TreeMap 会根据键对条目进行排序。以下是一个使用 TreeMap 解释 map 功能的示例 −

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}

示例 3

Map 在诸如 HashMap 等各种类中有其实现。以下是一个使用 HashMap 解释 map 函数的示例,向 map 中添加和移除元素−

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}
java_collections.htm