集合
由来: 由于数组满足不了变化的需求,于是java就给我们提供了另外一个容器,而这个容器内就是集合
数组和集合的区别:
* 长度的区别: 数组的长度是不可变的,不能自动增长,效率高,占用内存小;集合的长度是可变的,可以根据元素的增加而增长.
* 存储数据类型的区别: 数组可以存储基本数据类型的元素,也可以存储引用数据类型的元素 ; 而集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象
* 内容的区别: 数组只能存储同一种数据类型的元素 , 而集合可以存储多种数据类型的元素
数组和集合什么时候用
* 1,如果元素个数是固定的推荐用数组
* 2,如果元素个数不是固定的推荐用集合
集合的继承体系图
Collection
----> List 元素有序 , 每一个元素存在整数索引 , 可以存储重复元素
--> ArrayList 底层的数据结构是数组,查询快 , 增删慢 ; 线程不安全效率高
-->Vector 底层的数据结构是数组,查询快 , 增删慢 ; 线程安全, 效率低
-->LinkedList 底层的数据结构是链表,查询慢 , 增删快 ; 线程不安全效率高
----> Set 元素无序 , 每一个元素不存在整数索引 , 但是可以保证元素的唯一性
--> HashSet
--> TreeSet
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!