您的位置:首页 > 大数据 > 人工智能

容器(Container)简单介绍

2019-06-13 21:13 1036 查看

容器(Container)
List(接口有序的)
ArrayList
底层:数组(可变)
优点:查询,随机访问效率高
缺点:增删效率低
动态扩容:通过调用Arrays.copyOf()方法进行动态扩容,扩容后新容器的大小是原容量的1.5倍
第一次添加数据初始容量为10,加载因子(0~1):1
新增方法:使用List定义的方法
线程不安全的容器类
LinkedList
底层:双向链表实现
优点:增删效率高
缺点:查询低下
新增方法:新增了一些操作与链表头和链表尾的功能(见名知意的方法使用
Vector(向量)
底层实现和ArrayList类似
线程安全,效率较低
扩容为原来的2倍
set(无序的)
没有新增方法,与Collection中功能相同
hashSet
底层:由哈希表结构存储(数组+链表+红黑树)
优点:查询,增加,删除效率较高
缺点:无序
扩容:默认初始容量16,加载因子0.75 ,扩容是原容量的2倍
对数据进行hash算法计算存放桶的位置
把当前数据存放在对面的桶中,存放之前先看桶中是否有数据,如果没有就存放,如果存在拿桶中的数据与要存放的数据比较是否相同如相同就不存放,如果不相同则存放。
桶中多个数据之间使用链表

TreeSet
底层:红黑数结构实现
优点默认升序(自然排序或者指定排序)
没有hashSet效率高

存储引用数据类型的时候(引用数据类型对象的排序,引用数据类型对象的去重):引用数据类型1)实现内部比较器 2)自定义外部比较器

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: