Map

Map集合概述

interface Map<K,V>     K:键的类型;V:值的类型

将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值

举例:学生的学号和姓名

                   student001         双笙

                   student002         叶子

                   student003         元汐

创建Map集合的对象

多态的方式

具体的实现类HashMap

package com.ye.myMap.itheima01;

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

public class MapDemo01 {
    public static void main(String[] args) {
        //创建集合对象
        Map<String,String> map = new HashMap<String,String>();

        //put(K key, V value)  将指定的值与该映射中的指定键相关联(可选操作)。
        map.put("student001","双笙");
        map.put("student002","叶子");
        map.put("student003","元汐");

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

 Map集合的基本功能

 

 

 

 

 

 

 

package com.ye.myMap.itheima01;

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

public class MapDemo02 {
    public static void main(String[] args) {
        //创建集合对象
        Map<String,String> map = new HashMap<String,String>();

        //V put(K key,V value):添加元素
        map.put("叶子","双笙");
        map.put("叶无笙","陈元汐");
        map.put("臭宝","小九");

        //V remove(Object key):根据键删除值对元素
        //V remove(Object key)返回值是删除的键对应的值
        //删除不存在的键返回值为null
//        System.out.println(map.remove("臭宝"));
//        System.out.println(map.remove("小红"));

        //void clear():移除所有的建值对元素
        //map.clear();

        //boolean containsKey(Object key):判断集合是否包含指定的键
        //boolean containsValue(Object key):判断集合是否包含指定的值
        //返回值为:true/false
        System.out.println(map.containsKey("叶子"));
        System.out.println(map.containsValue("小九"));

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

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

        System.out.println(map);
    }
}

Map集合的获取功能

 

 

 

package com.ye.myMap.itheima01;

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

public class MapDemo03 {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();

        map.put("叶子","双笙");
        map.put("叶无笙","陈元汐");
        map.put("臭宝","小九");

        //V get(Object key) : 根据键获取值
        //System.out.println(map.get("叶子"));

        //Set<K> keySet():获取所有键的集合
        //System.out.println(map.keySet());
        Set<String> keySet = map.keySet();
        for (String key : keySet) {
            //System.out.println(key);
        }

        //Collection<V> values():获取所有值的集合
        //System.out.println(map.values());
        Collection<String> values = map.values();
        for (String value : values) {
            System.out.println(value);
        }

        System.out.println(map);
    }
}

Map集合的遍历

方法一:

            1.获取所有键的集合。用keySet()方法实现

            2.遍历键的集合,获取到每一个键。用增强for循环

            3.根据键去找值。用get(Object key)方法实现

package com.ye.myMap.yewusheng02;

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

public class MapDemo01 {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();

        map.put("叶子","双笙");
        map.put("叶无笙","陈元汐");
        map.put("臭宝","小九");

        //获取所有键的集合。用keySet()方法实现
        Set<String> keySet = map.keySet();
        //遍历键的集合,获取到每一个键。用增强for循环
        for (String key : keySet) {
            //根据键去找值。用get(Object key)方法实现
            String value = map.get(key);
            System.out.println(key +"\t"+ value);
        }

    }
}

方法二:

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

                     Set<Map.Entry<K,V>>entrySet(): 获取所有键值对对象的集合

            2.遍历键值对对象的集合,得到每一个值对对象

                     用增强for循环实现,得到每一个Map.Entry

            3.根据键值对对象获取键和值

                      用getKey()得到键

                      用getValue()得到值

package com.ye.myMap.yewusheng02;

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

public class MapDemo02 {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();

        map.put("叶子","双笙");
        map.put("叶无笙","陈元汐");
        map.put("臭宝","小九");

        //获取所有键值对象的集合
        //Set<Map.Entry<K,V>>entrySet(): 获取所有键值对对象的集合
        Set<Map.Entry<String, String>> entrySet = map.entrySet();

        //遍历键值对对象的集合,得到每一个值对对象
        //用增强for循环实现,得到每一个Map.Entry
        for (Map.Entry<String, String> entry : entrySet) {
            //根据键值对对象获取键和值
            //  用getKey()得到键
            //  用getValue()得到值
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+"\t"+value);

        }

    }
}

 

posted on 2022-07-11 10:37  叶子1111  阅读(99)  评论(0编辑  收藏  举报

导航