文章目录

  • ​​1. Map 概述和特点​​
  • ​​1.1 Map 概述​​
  • ​​1.2 Map 的特点​​
  • ​​1.3 示例代码​​
  • ​​2. Map 的基本功能​​
  • ​​2.1 方法介绍​​
  • ​​2.2 示例代码​​
  • ​​3. Map 获取功能​​
  • ​​3.1 方法介绍​​
  • ​​3.2 示例代码​​

1. Map 概述和特点

1.1 Map 概述

  • Map 是一种 键值对(Key-Value)
  • Map 接口主要有两个实现类:HashMap 类和 TreeMap 类
interface Map<K,V> 

K:键的类型
V:值的类型

1.2 Map 的特点

  • 键值对映射关系
  • 一个键对应一个值
  • 键不能重复,值可以重复
  • 元素存取无序

1.3 示例代码

import java.util.HashMap;
import java.util.Map;

public class Demo {
public static void main(String[] args) {

// 创建集合对象
Map<String,String> map = new HashMap<>();

map.put("001","小明");
map.put("002","小红");
map.put("003","小兰");
map.put("004","小明"); // 键不能重复,值可以重复

// 输出集合对象
System.out.println(map);
}
}

2. Map 的基本功能

2.1 方法介绍

方法名

说明

V put(K key,V value)

添加元素

V remove(Object key)

根据键删除键值对元素

void clear()

移除所有的键值对元素

boolean containsKey(Object key)

判断集合是否包含指定的键

boolean containsValue(Object value)

判断集合是否包含指定的值

boolean isEmpty()

判断集合是否为空

int size()

集合的长度,也就是集合中键值对的个数

2.2 示例代码

import java.util.HashMap;
import java.util.Map;

public class Demo {
public static void main(String[] args) {

// 创建集合对象
Map<String,String> map = new HashMap<>();

// V put(K key,V value):添加元素
map.put("001","小明");
map.put("002","小红");
map.put("003","小兰");
map.put("004","小明");

// V remove(object key): 根据键删除键值对元素
map.remove("001");
System.out.println(map); // {002=小红, 003=小兰, 004=小明}

// void clear(): 移除所有的键值对元素
map.clear();
System.out.println(map); // {}

// boolean containsKey(Object key):判断集合是否包含指定的键
System.out.println(map.containsKey("001")); //false

// boolean isEmpty():判断集合是否为空
System.out.println(map.isEmpty()); // true

// int size():集合的长度,也就是集合中键值对的个数
System.out.println(map.size()); // 0

}
}

3. Map 获取功能

3.1 方法介绍

方法名

说明

V get(Object key)

根据键获取值

Set keySet()

获取所有键的集合

Collection values()

获取所有值的集合

Set<Map.Entry<K,V>> entrySet()

获取所有键值对对象的集合

3.2 示例代码

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Demo {
public static void main(String[] args) {

// 创建集合对象
Map<String,String> map = new HashMap<>();

// V put(K key,V value):添加元素
map.put("001","小明");
map.put("002","小红");
map.put("003","小兰");
map.put("004","小明");

// V get(Object key):根据键获取值
System.out.println(map.get("001")); // 小明
System.out.println(map.get("003")); // 小兰

// Set<K> keySet():获取所有键的集合
Set<String> keySet = map.keySet();

for(String key : keySet) {
System.out.println(key);
}

// Collection<V> values():获取所有值的集合
Collection<String> values = map.values();

for(String value : values) {
System.out.println(value);
}
}
}