Java集合框架之Map集合学习笔记

Map集合和collection集合一起构成了java的集合框架,本篇文章讲解Map集合的学习线路。

一、Map集合简述
(1)概述
① interface Map k:键的类型,V:值的类型
② 将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值。
③举例: 学生学号和姓名
(2)创建Map集合对象采用的是多态的方式,一般使用具体的实现类HashMap

import java.util.HashMap;
import java.util.Map;
/*
* Map集合使用时创建HashMap,多态的形式
* 存储学生学号和姓名
* 001 Tom
* 002 Jim
* 003 BOb
* 004 Mark
* */
public class Maps {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();//多态创建

        //没有add方法,添加使用put方法
        //V put(K key,V value)将指定值和影射中的指定键相关联
        //当存在相同的Key时,put会将前一个value值覆盖
        map.put("001","Tom");
        map.put("002","Jim");
        map.put("003","Bob");
        map.put("004","Mark");

        System.out.println(map);
    }

}

二、Map集合的基本功能
Java集合框架之Map集合学习笔记_第1张图片
三、Map集合的获取功能
Java集合框架之Map集合学习笔记_第2张图片
Java集合框架之Map集合学习笔记_第3张图片
四、Map集合遍历
(1)方法一
Java集合框架之Map集合学习笔记_第4张图片

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

/*
* Map集合遍历
* 方法一
* 1.获取所有键的集合,用keySet()实现,返回的也是Set
* 2.遍历键的集合,获取到每一个键,用for each实现
* 3.根据键去找值,用get(Object key)实现
* 方法二
*
* */
public class MapFor {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();//多态创建

        map.put("001","Tom");
        map.put("002","Jim");
        map.put("003","Bob");
        map.put("004","Mark");

        //1.获取所有键的集合
        Set<String> set = map.keySet();
        //2.遍历set集合
        for (String str:set
             ) {
            //3.根据键找到值
            System.out.println(str+":"+map.get(str));
        }
    }
}

(2)方法二

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

/*
* Map集合遍历
* 方法一
* 1.获取所有键的集合,用keySet()实现,返回的也是Set
* 2.遍历键的集合,获取到每一个键,用for each实现
* 3.根据键去找值,用get(Object key)实现
* 方法二
*1.获取map所有键值对对象的集合 Set> entrySet()
* 2.遍历键值对对象的集合,得到每一个键值对对象for each得到Map.Entry
* 3.根据键值对对象获取键和值
* getKey()
* getValue()
* */
public class MapFor {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();//多态创建

        map.put("001","Tom");
        map.put("002","Jim");
        map.put("003","Bob");
        map.put("004","Mark");

//        //1.获取所有键的集合
//        Set set = map.keySet();
//        //2.遍历set集合
//        for (String str:set
//             ) {
//            //3.根据键找到值
//            System.out.println(str+":"+map.get(str));
//        }


        //1.获取键值对对象的集合
        Set<Map.Entry<String,String>> entrySet = map.entrySet();
        //2.for each获取每一个键值对对象
        for (Map.Entry<String,String> m:entrySet
             ) {
            //3.根据键值对对象获取键和值
           System.out.println(m.getKey()+":"+m.getValue());
        }
    }
}

你可能感兴趣的:(JAVA基础进阶)