0
点赞
收藏
分享

微信扫一扫

Java——Map集合

黎轩的闲暇时光 2022-04-19 阅读 43
java

Java——Map集合

一、Map集合的概述

  • Interface Map<K,V>,K是键的类型,V是值的类型
  • 将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值
  • 举例:学生的学号和姓名
    001 zlx
    002 lkl
    003 opk

二、Map集合对象的创建

  • 多态的方式
  • 具体的实现类HashMap
import java.util.HashMap;
import java.util.Map;

public class MapDemo1 {
    public static void main(String[] args) {
        //创建Map对象
        Map<String, String> map = new HashMap<String, String>();
        map.put("001", "zlx");
        map.put("002", "ski");
        map.put("003", "ssj");
        System.out.println(map);
    }
}

在这里插入图片描述
注意:put()方法第一次使用是添加内容,第二次使用是更改内容

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

public class MapDemo1 {
    public static void main(String[] args) {
        //创建Map对象
        Map<String, String> map = new HashMap<String, String>();
        map.put("001", "zlx");
        map.put("002", "ski");
        map.put("003", "ssj");//第二次使用
        map.put("003", "new");
        System.out.println(map);
    }
}

在这里插入图片描述

三、Map集合的基本功能

  • V put(K key,V value):添加元素
  • V remove(Object key):根据键删除键值对元素
  • void clear():移除所有的键值对元素
  • boolean containsKey(object key):判断集合是否包含指定的键
  • boolean containsValue(Object value):判断集合是否包含指定的值
  • boolean isEmpty():判断集合是否为空
  • int size():集合的长度,也就是键值对的个数
import java.util.HashMap;
import java.util.Map;

public class Demo2 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        //添加元素
        map.put("001", "zlx");
        map.put("002", "zll");
        System.out.println(map);

        //集合的长度
        System.out.println(map.size());

        //判断是否为空
        System.out.println(map.isEmpty());

        //判断是否包含指定的键
        System.out.println(map.containsKey("001"));
        System.out.println(map.containsKey("005"));

        //判断是否包含指定的值
        System.out.println(map.containsValue("zlx"));
        System.out.println(map.containsValue("sss"));

        //根据键删除键值对元素
        map.remove("002");
        System.out.println(map);

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

在这里插入图片描述

四、Map集合的获取功能

  • V get(Object key):根据键获取值
  • Set< K> keySet():获取所有键的集合
  • Collection< V> values():获取所有值的集合
  • Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Demo3 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        //添加元素
        map.put("001", "zlx");
        map.put("002", "zll");
        map.put("003", "kji");
        System.out.println(map);

        //根据键获取值
        System.out.println(map.get("001"));
        System.out.println(map.get("005"));

        //获取所有键的集合
        Set<String> keyset = map.keySet();
        System.out.println(keyset);

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

        //获取所有键值对对象的集合
        Set<Map.Entry<String, String>> entries = map.entrySet();
        System.out.println(entries);
    }
}

在这里插入图片描述

五、Map集合的遍历

1、Map集合的遍历(方法1)

  • 获取所有键的集合,用keySet()实现
  • 遍历键的集合,获取每一个键值,用增强for实现
  • 根据键去找值,用get(Object key)方法实现

示例

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

public class Demo4 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("001", "zlx");
        map.put("002", "zll");
        map.put("003", "kji");
        System.out.println(map);

        //获取所有键的集合
        Set<String> keyset = map.keySet();
        for (String s : keyset) {
            String v = map.get(s);
            System.out.println(s + "," + v);
        }
    }
}

在这里插入图片描述

2、Map集合的遍历(方法2)

  • 获取所有键值对对象的集合
    Set<Map.Entry<K,V>> entrySet()
  • 遍历键值对对象的集合,得到每一个键值对对象
    用增强for实现,得到每一个Map.Entry
  • 根据键值对对象获取键和值
    getKey()得到键
    getValue()得到值
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Demo5 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("001", "zlx");
        map.put("002", "zll");
        map.put("003", "kji");
        System.out.println(map);

        Set<Map.Entry<String, String>> entries = map.entrySet();
        for (Map.Entry<String, String> e : entries) {
            String key = e.getKey();
            String value = e.getValue();
            System.out.println(key + "," + value);
        }
    }
}

在这里插入图片描述

举报

相关推荐

0 条评论