Map集合

一、概述

1、Map集合是一种双列集合,每个元素包含两个数据

2、Map集合的每个元素格式:Key  value

3、Map集合也被称为键值对集合

Map集合是键值对集合

Map集合非常适合做购物车这种业务场景

适应最对的Map集合时HashMap

二、Map集合体系的特点

1、Map集合的特点都是由键决定的

2、Map集合的键时无序的,不重复的,无索引的,值不做要求(可重复)

3、Map集合后面重复的键对应的值会覆盖前面重复键的值

4、Map集合的键值对都可以为null

三、Map集合实现类的特点

1、HashMap:元素按照键是无序,不重复,无索引,值不做要求(与Map体系一致)

2、LinkedHashMap:元素按照键是有序的,不重复的,无索引的,值不做要求

3、TreeMap:元素按照键是排序的,不重复的,无索引的

----------------------------------------------------------------------------------------------------------------

Map集合

Map是双列集合的祖宗接口,它的功能是全部双列集合都可以继承使用

 

一、Map集合的遍历方式

1、键找值

先获取Map集合的全部键的set集合

遍历键的set集合,然后把这些键放到一个单列集合中

(2)先把Map集合转换成Set集合,Set集合中每个元素都是键值对的实体类型

遍历Set集合,然后提取键以及提取值

 

(3)得益于JDK8开始的新技术,Lambda表达式,提供了一种更简单、更直接的遍历方式

 二、

1、HashMap的特点

(1)HashMap是Map里面的一个实现类,特点都是由键决定的,无序、不重复、无索引

(2)没有额外需要学习的特有方法,直接使用Map里面的方法就可以

(3)HashMap跟HashSet底层原理一样,都是哈希表结构,只是HashMap的每个元素包含两个值而已

实际上:Set系列集合的底层就是Map实现的,只是Set集合中的元素只要键数据,不需要值数据而已

2、HashMap的特点和底层原理

(1)由键决定、无序、不重复、无索引,HashMap底层是哈希表结构

(2)依赖HashcCode方法和equals方法保证键的唯一

(3)如果键要存储的是自定义对象,需要重写HashCode和equals方法

(4)基于哈希表,增删改查性能都比较好

3、TreeMap集合概述和特点

(1)由键决定,不重复,无索引,可排序

(2)可排序:按照键数据的大小,默认排序(从小到大),只能对键排序

注意:TreeMap集合是一定要排序的,可以默认排序,也可以按照指定的规则进行排序

(3)TreeMap和TreeSet原理一样

TreeMap集合自定义排序规则有两种:

(1)类实现Comparable接口,重写比较规则

(2)集合自定义Comparator比较器对象,重写比较规则

注意两者均出现时,遵循第二个定义的规则

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值