目录
一、集合的框架
关于这张图的几点:
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集合
参考java300集笔记。