java基础之Map接口

目录

一:Map集合的特点

二:Map接口和Collection接口的不同:

三:Map集合的功能://Map接口重写了toString()方法

1、添加功能

2、删除功能

3、判断功能

4、获取功能

5、长度功能


一:Map集合的特点

1、将键映射到值的对象

2、一个映射不能包含重复的键

3、每个键最多可以映射到一个值

举例:001 s1

002 s2

002(不允许) s3

004 s4

004(不允许) s5

005   s5

二:Map接口和Collection接口的不同:

1、它们两个不存在继承关系,都是属于java.util包下面的平级关系

2、Map集合存储的元素都是成对出现的,Map元素的键是唯一的,值是可以重复。

把这样的元素理解为:夫妻对

3、Collection集合存储的元素都是单独出现的,Collection接口下面的Set是元素唯一的。

List集合中元素是可以重复的。这样的单独出现的元素:光棍

三:Map集合的功能://Map接口重写了toString()方法

1、添加功能

V put(K key,V value)将指定的值与该映射中的指定键相关联(可选操作)。//两次插入同一个key的映射的时候,返回的是该key上一个映射中对应的值

举例:put(001,"s1")

2、删除功能

V remove(Object key)如果存在(从可选的操作),从该地图中删除一个键的映射//根据key移除,返回的是映射中对应值

void clear()从该地图中删除所有的映射(可选操作)

3、判断功能

boolean containsKey(Object key)

boolean containsValue(Object value)

boolean isEmpty()

4、获取功能

Set> entrySet()返回此Map中包含的映射的Set视图。

V get(Object key)返回到指定键所映射的值,或null如果此映射包含该键的映射。

Set keySet()返回此地图中包含的键的Set视图。

Collection values()返回此地图中包含的值的Collection视图。

5、长度功能

int size()返回此地图中键值映射的数量

6:例子

package day27;

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

public class Test20 {
    public static void main(String[] args) {
        Map<String, String> s = new HashMap<String, String>();//利用接口多态创建对象
        //添加元素
        s.put("001","s1");
        s.put("002","s2");
        s.put("003","s3");
        s.put("004","s4");
        s.put("005","s5");
        s.put("005","s6");
        System.out.println(s);//输出map
        System.out.println("=================================");
        //删除key值为005的键值对
        String remove = s.remove("005");
        System.out.println(remove);
        System.out.println("==================================");
        //获取key值为004的值
        String s1 = s.get("004");
        System.out.println(s1);
        System.out.println("==================================");
        //判断是否存在key值为002的元素
        boolean b = s.containsKey("002");
        System.out.println(b);
        System.out.println("==================================");
        //判断是否存在value为s1的元素
        boolean s11 = s.containsValue("s1");
        System.out.println(s11);
        System.out.println("==================================");
        //判断是否为空
        boolean empty = s.isEmpty();
        System.out.println(empty);
        System.out.println("==================================");
        //获取所有的value
        Collection<String> values = s.values();
        for (String value : values) {
            System.out.println(value);
        }
        System.out.println("==================================");
        //获取所有的key
        Set<String> strings = s.keySet();
        for (String string : strings) {
            System.out.println(string);
        }
        System.out.println("==================================");
        //获取所有的键值对
        Set<Map.Entry<String, String>> entries = s.entrySet();
        for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry.getKey()+"**"+entry.getValue());
        }

    }
}

Guess you like

Origin blog.csdn.net/weixin_50691399/article/details/121003752