Java成神路 —— Map

2023-05-07 17:11:30 浏览数 (1)

1. Map 概述和特点

1.1 Map 概述

  • Map 是一种 键值对(Key-Value) 集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。
  • Map 接口主要有两个实现类:HashMap 类和 TreeMap 类
代码语言:javascript复制
interface Map<K,V> 

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

1.2 Map 的特点

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

1.3 示例代码

代码语言:javascript复制
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 示例代码

代码语言:javascript复制
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 示例代码

代码语言:javascript复制
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);
        }
    }
}

0 人点赞