深入理解Java集合
来源:互联网 发布:淘宝客全店推广如何做 编辑:程序博客网 时间:2024/05/17 04:57
ArrayList
- 基于数组方式实现,无容量限制
- 在插入元素时可能需要扩容;在删除元素时并不会减小数组的容量(如希望相应的缩小数组的容量,可以调用ArrayList的trimToSize()方法);在查找元素时要遍历数组,对于非null的元素采用equals的方式寻找
- 非线程安全
LinkedList
- 基于双向链表机制实现
- 在插入元素时,需创建一个新的Entry对象,并切换相应元素的前后元素的引用;在查找元素时,需遍历链表;在删除元素时,要遍历链表,找到要删除的元素,然后从链表上将此元素删除即可
- 非线程安全
Vector
- 基于Synchronized实现的线程安全的ArrayList,但在插入元素时容量扩充的机制和ArrayList不通,并可通过传入capacityIncrement来控制容量的扩充
- 线程安全
Stack
- 基于Vetcor实现,支持LIFO
- 线程安全
HashSet
- 基于HashMap实现,无容量限制
- 非线程安全
TreeSet
- 基于TreeMap实现,支持排序
- 非线程安全
HashMap
- 采用数组方式存储key、value构成的Entry对象,无容量限制
- 基于key hash寻找Entry对象存放到数组的位置,对于hash冲突采用链表的方式解决
- 在插入元素时可能要扩大数组的容量,在扩大容量时必须要重新计算hash,并赋值对象到新的数组中
- 非线程安全
TreeMap
- 基于红黑树实现,无容量限制
- 非线程安全
阅读全文
0 0
- 深入理解Java集合
- Java深入 - 深入理解Java集合
- java 集合类深入理解
- java 集合类深入理解
- java 集合类深入理解
- java 集合类深入理解
- 深入理解java集合的底层操作
- 深入理解Java之集合框架
- 深入理解Java之集合框架
- JAVA集合深入理解,多图解析。
- 1.深入理解java集合List
- 《深入理解Java集合框架》系列文章
- Java 集合深入理解(3):Collection
- Java 集合深入理解(5):AbstractCollection
- Java 集合深入理解(6):AbstractList
- Java 集合深入理解(7):ArrayList
- Java 集合深入理解(8):AbstractSequentialList
- Java 集合深入理解(11):LinkedList
- git和GitHub
- Spring——AOP com.sun.proxy.$Proxy7 cannot be cast to xxx
- JavaScript基础——省市联动
- C语言二叉树的各种功能的实现
- 登录记账
- 深入理解Java集合
- nginx 负载均衡
- 在后台修改前台模板文件
- Android学习之路——广播接受者
- cookie, session, localstorage 区别
- file & type & which
- 两数组的交
- HTML5 超链接和锚点
- java运行是编译异常和运行异常的区别