原文网址:Java之List系列--ArrayList与LinkedList以及List与数组、Set的区别_IT利刃出鞘的博客-CSDN博客
简介
本文介绍Java的List的一些对比,包括:Array与ArrayList区别、ArrayList与LinkedList异同、List与Set区别。
ArrayList与LinkedList异同
相同点
- 线程安全:都是线程不安全的
- 顺序:都是按照存入的顺序取出
不同点
项 | ArrayList | LinkedList |
实现方式 | 基于数组。 | 基于链表。 |
随机访问 | 支持随机访问。(实现了RandomAccess 接口) | 不支持随机访问。 |
插入效率 | 插入效率比较低(需要扩容时效率会变低)。 | 插入效率比较高(删除不一定高)。 |
时间复杂度 | get(int index) :O(1) | get(int index) :O(n) |
使用场景 | 随机访问的场景。 | 插入很频繁的场景 用作:栈、队列或双向队列 |
List与Set区别
上边是文章的部分内容,为便于维护,全文已迁移到此网址:ArrayList与LinkedList以及List与数组、Set的区别 - 自学精灵