java基础 - 集合

目录

一、集合的框架

1、Set为什么是无序不可重复的?

2、List为什么是有序可重复的?

3、Map集合


一、集合的框架

 

关于这张图的几点:


1、Set为什么是无序不可重复的?

答:

Set集合的主要特点是:存储无序、元素不重复。

啥意思呢?可以理解为,向一个瓶子里面扔东西,这些东西没有记号标记它是第几个放进去的,但是有一点就是这个瓶子里面不会有重样的东西。

细细思考,你会发现, Set 集合的这些特性正处于 List 集合和 Map 集合之间,为什么这么说呢?之前的集合文章中,咱们了解到,List 集合的特点就是存取有序,本质是一个有序数组,每个元素依次按照顺序存储Map 集合主要用于存放键值对,虽然底层也是用数组存放,但是元素在数组中的下标是通过哈希算法计算出来的,数组下标无序

而 Set 集合,在元素存储方面,注重独立无二的特性,如果某个元素在集合中已经存在,不会存储重复的元素,同时,Set集合存储的是元素,不像 Map 集合那样存储的是键值对。

 

详解参考一篇完整的文章:http://www.justdojava.com/2019/11/05/java-collection-11/

 


2、List为什么是有序可重复的?

答:

List集合的主要特点是:存储有序、元素可以重复。

可以这样理解: 就像一排有下标的书架,往这排书架放书的时候,只能按照这个下标的顺序把书放进去,这就是存储有序。然后不同下标的位置是可以放相同的书的,这就是元素可重复。

关于ArrayList和LinkedList的详细参考一篇完整的文章:http://www.justdojava.com/2019/04/05/java-List/

参考java300集笔记。


3、Map集合

参考:HashMap源码分析

参考java300集笔记。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值