ArrayList、LinkedList区别
来源:互联网 发布:国内大数据应用案例 编辑:程序博客网 时间:2024/06/05 08:46
ArrayList、LinkedList
两者都是List接口的实现类,但是底层实现却不同,ArrayList底层是基于数组实现,而LinkedList底层为双向链表实现
ArrayList
- ArrayList是基于数组实现,可重复的集合类,应该是大家平时使用最多的集合类了。
- 初始capacity为10,超出限制的话则会增加原来的百分之50%,代码实现为
intnewCapacity =oldCapacity + (oldCapacity >> 1); 扩容底层都是使用System.arraycope拷贝到新数组中实现。 - trimTosize的使用,释放没有使用的空间,即将此ArrayList实例的容量调整为列表的当前大小
- 初始capacity为10,超出限制的话则会增加原来的百分之50%,代码实现为
LinkedList
- LinkedList是基于双向链表,可重复的集合类
- 链表无容量限制,但双向链表本身使用了更多空间,也需要额外的链表指针操作。
- 按下标访问元素—get(i)、set(i,e) 时则要遍历链表将指针移动到位(如果i>数组大小的一半,会从末尾开始移动)。
两者相同点:那就是都不是线程安全的,所以在使用中,要根据业务特性选择合适的集合类。
0 0
- ArrayList和LinkedList区别
- ArrayList Vector LinkedList 区别
- ArrayList和LinkedList区别
- ArrayList和LinkedList区别?
- ArrayList和LinkedList区别
- ArrayList,LinkedList,Vestor 区别
- ArrayList和LinkedList区别
- Vector Arraylist LinkedList 区别
- ArrayList LinkedList区别
- ArrayList、Vector、LinkedList区别
- ArrayList和LinkedList区别
- ArrayList,Vector,LinkedList区别
- ArrayList和LinkedList区别
- LinkedList 和 ArrayList 区别
- Vector,ArrayList,LinkedList区别
- ArrayList、LinkedList、Vector区别
- ArrayList和LinkedList区别
- Vector,ArrayList,LinkedList区别
- 快速安装Git客户端及TortoiseGit并使用
- 如何选择职业道路
- Java关键字final、static使用总结
- Java序列化
- 在Android Studio中进行单元测试和UI测试
- ArrayList、LinkedList区别
- Java常用设计模式与使用场景
- 通信原理中星座图详解
- Maven仓库
- Java命名规范
- 1、scrapy——xpath路径使用
- 【CentOS7】服务环境搭建
- php编码规范
- Dynamic Web Module 3.0 requires Java 1.6 or newer