Map集合简介及其常见遍历方式

🧀Map集合框架

在这里插入图片描述

Map集合和Collection集合没有任何关系。Collection集合是以单个方式存储元素的,而Map集合是以键值对的方式存储元素,所有Map集合的Key是无序不可重复的,key和value都是引用数据类型,存的都是内存的地址。

​ Map集合的实现类主要为HashMap、HashTable
:

🧀为什么使用Map集合

使用Map集合有以下几个优点:

1、快速查找和访问元素:

使用Map的键来访问和查找值,可以快速定位元素,而不需要遍历整个集合。

2、存储关联数据:

Map可以存储键值对,比如存储学生的姓名和成绩,可以通过学生的姓名快速获取到他的成绩。

3、高效的添加和删除元素:

Map提供了添加、删除和修改元素的方法,操作比较高效,而且不需要对集合进行重排。

4、对于大量数据的处理,可以提高效率:

如果需要处理大量的数据,使用Map可以比较快速地进行查找和访问,提高程序效率。

5、可以用于缓存数据:

Map可以将数据缓存到内存中,通过键值对的形式进行访问,这样可以避免频繁地查询数据库或者文件系统,提高了程序效率。
使用Map集合可以提高程序的效率和可读性,而且可以方便地存储和访问关联数据

🧀Map集合的常用方法

1, HashMap、TreeMap或者LinkedHashMap :将对象实例化


	//1、创建一个Mop集合
	Map map = new HashMap();

:

2,put() :添加键值对

  	Map map=new HashMap();
  	//添加键值对
       map.put("杨过","小龙女");
       map.put("郭靖","黄蓉");
       map.put("我","刘亦菲");

:

3, map.get(key) :通过键获取对应的值

  	Map map=new HashMap();
        map.put("杨过","小龙女");
        通过键获取对应的值
        map.get("杨过");//小龙女

:

4, map.keySet() : 获取键的集合

    Map map=new HashMap();
        map.put("杨过","小龙女");
        map.put("郭靖","黄蓉");
        map.put("我","刘亦菲");
        //获取键的集合 
        Set set = map.keySet();//杨过--郭靖--我

:

5,map.entrySet() : 获取entry(键值对)对象

🍧entry.getKey() :获取键 ; entry.getValue() : 获取值
      Map map=new HashMap();
        map.put("杨过","小龙女");
        map.put("郭靖","黄蓉");
        map.put("我","刘亦菲");
        //获取entry(键值对)对象
        Set set = map.entrySet();  
        //遍历entry
         for (Map.Entry entry : set) {
       		 //获取键
            Object key= entry.getKey();//杨过--郭靖--我
            //获取值
            Object value= entry.getValue(); //小龙女--黄蓉--刘亦菲    
        }

:

🧀Map集合的遍历方式

1,先使用 keySet() 方法获取键集合,在通过get()方法获取值

🍧 使用增强for遍历键集合
 //1、创建一个Mop集合
        Map map=new HashMap();
        //添加键值对
        map.put("杨过","小龙女");
        map.put("郭靖","黄蓉");
        map.put("我","刘亦菲");
        Set set = map.keySet();
        使用增强for遍历
        for (Object key : set) {
            Object value = map.get(key);
            System.out.println(key+"="+value);
        }

:

🍧使用迭代器来遍历键集合
        Map map=new HashMap();
        map.put("杨过","小龙女");
        map.put("郭靖","黄蓉");
        map.put("我","刘亦菲");
        Set set = map.keySet();
        使用迭代器
        Iterator iterator=set.iterator();
        while (iterator.hasNext()){
            Object key = iterator.next();
            Object value = map.get(key);
            System.out.println(key+"="+value);
        }

2,先使用entrySet() 获取entry(键值对)对象,在使用entry.getKey() 和 entry.getValue() 获取键和值

🍧用多态 Set<Map.Entry>
Map map=new HashMap();
        map.put("杨过","小龙女");
        map.put("郭靖","黄蓉");
        map.put("我","刘亦菲");
        Set<Map.Entry> set = map.entrySet();
        for (Map.Entry entry : set) {
            Object key= entry.getKey();
            Object value= entry.getValue();
            System.out.println(key+"="+value);
        }

:

🍧不用多态
 Map map=new HashMap();
        map.put("杨过","小龙女");
        map.put("郭靖","黄蓉");
        map.put("我","刘亦菲");
        Set set = map.entrySet();
        for (Object o : set) {
        //强转成Entry
            Map.Entry entry=(Map.Entry) o;
           Object key= entry.getKey();
           Object value= entry.getValue();
            System.out.println(key+"="+value);
        }

:

3,Lambda表达式遍历

  Map map=new HashMap();
        map.put("杨过","小龙女");
        map.put("郭靖","黄蓉");
        map.put("我","刘亦菲");
        //lambda
        map.forEach(( key, value)-> System.out.println(key+"="+value));

:

4, values直接获取值的集合(缺点没有key)

Map map=new HashMap();
        map.put("杨过","小龙女");
        map.put("郭靖","黄蓉");
        map.put("我","刘亦菲");
        Collection value = map.values();
        for (Object obj : value){
            System.out.println(obj);
        }

OK,以上就是Map集合遍历的全部内容,博主会持续更新🍟🍟🍟

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值