容器(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)自定义外部比较器
相关文章推荐
- IOC容器的简单介绍
- windows7下从docker容器启动memcached服务的简单介绍
- 标准库容器 vector 和 迭代器 iterator 的简单介绍
- 容器和泛型的简单介绍
- SSIS中的容器和数据流—简单介绍
- Docker container 容器介绍
- 标准C++STL中的容器类简单介绍
- Concurrent 与 CopyOnWrite 容器简单介绍
- ZGrid方格容器类的简单介绍
- 蛙蛙推荐:简单介绍一下托管容器持久性(CMP),顺便征集一下.NET CMP2.0的改进方案
- 指针容器的应用 --- boost::ptr_container介绍
- JAVA容器--简单介绍(1)
- C++容器类的简单介绍
- 理解PHP依赖注入容器(dependency injection container)系列(三) Symfony服务容器介绍
- C++ STL中vector(向量容器)使用简单介绍
- ScriptCase开发平台介绍(十一)——容器(Container)应用程序
- STL中的容器简单介绍
- C++容器类的简单介绍(转帖)
- C++容器类的简单介绍续(转帖)
- SSIS中的容器和数据流—简单介绍