JAVA 集合类总结

1.集合类的特点:
集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。
2.数组和集合类的区别?
数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。
数组中可以存储基本数据类型,集合只能存储对象。

一、list接口
有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
列表通常允许重复的元素。
一.1 ArrayList
底层数据结构是数组,查询快,增删慢
线程不安全,效率高
一.2 LinkedList
底层数据结构是链表,查询慢,增删快
线程不安全,效率高
ArrayList和LinkedList的区别:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据
二、set接口
一个不包含重复元素的 collection
二.1 HashSet
不保证 set 的迭代顺序
特别是它不保证该顺序恒久不变。
底层数据结构是哈希表(元素是链表的数组)
哈希表依赖于哈希值存储
添加功能底层依赖两个方法:
(1) int hashCode()
(2) boolean equals(Object obj)
二.2 LinkedHashSet
元素有序唯一
由链表保证元素有序
由哈希表保证元素唯一

三、Map接口
将键映射到值的对象
一个映射不能包含重复的键
每个键最多只能映射到一个值 key=value
Map接口和Collection接口的不同
(1)Map是双列的,Collection是单列的
(2)Map的键唯一,Collection的子体系Set是唯一的
(3)Map集合的数据结构值针对键有效,跟值无关
(4)Collection集合的数据结构是针对元素有效
三.1 HashMap
键是哈希表结构,可以保证键的唯一性
三.2 LinkedHashMap
Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值