面试问题JAVA中ArrayList和LinkedList的区别的重新审视

简介: 面试问题JAVA中ArrayList和LinkedList的区别的重新审视

相信很多面试者经常被问到JAVA中ArrayList和LinkedList的区别这个问题,回答也都是教科书式的回答,有的是死记硬背背下来的,有的是理解而回答出来的,无非就是如下的答案:

1、ArrayList是基于数组的,LinkedList是基于链表的

2、ArrayList查询更高效,插入删除比ArrayList慢,LinkedList查询效率没有ArrayList高,但是插入删除很快。

说的多一点的会就ArrayList和LinkedList的查询和插入删除的算法时间复杂度给予一个具体的值。

其实LinkedList比ArrayList实现起来复杂了很多,ArrayList就是纯数组的实现,而LinkedList使用到了链表数据结构以外,还实现了一个双端队列的数据结构。对于双端队列,不同于栈和队列的是,它可以从两个端同时对数据进行入和出,有的说是可以看作栈和队列的结合,支持栈的先进后出和队列的先进先出,但是这里面跟传统的栈这个数据结构还是不同的,主要还是队列的特性,而且不是那种包证顺序操作的特性,比栈和队列操作上更加灵活。

但是实际的开发中会根据ArrayList和LinkedList做很详细的分析,并且做出用哪一个的决定吗?貌似做JAVA的很少从底层数据结构上去考虑性能问题,实际业务中遇到慢的情况可能会去尝试改变一下选择哪一个,要么是从架构上去做技术实现选择了。

目录
相关文章
|
4天前
|
XML 缓存 Java
Java大厂面试题
Java大厂面试题
16 0
|
4天前
|
存储 安全 Java
Java大厂面试题
Java大厂面试题
10 0
|
4天前
|
存储 安全 Java
Java大厂面试题
Java大厂面试题
13 0
|
5天前
|
安全 Java
就只说 3 个 Java 面试题 —— 02
就只说 3 个 Java 面试题 —— 02
18 0
|
5天前
|
存储 安全 Java
就只说 3 个 Java 面试题
就只说 3 个 Java 面试题
10 0
|
15天前
|
Java 关系型数据库 MySQL
大厂面试题详解:Java抽象类与接口的概念及区别
字节跳动大厂面试题详解:Java抽象类与接口的概念及区别
40 0
|
20天前
|
存储 JSON Java
面试官:Session和JWT有什么区别?
JSON Web Token (JWT) 是一种开放标准,用于安全地在网络上传输信息。JWT 包含头部、载荷和签名三部分,常用于身份验证和授权。与Session相比,JWT有以下优势:无服务器存储状态,支持跨域,适应微服务架构,自包含且可扩展。在Java开发中,可以使用HuTool框架操作JWT,包括生成、验证和解析Token。JWT通过在客户端存储令牌实现无状态认证,与Session的主要区别在于工作原理、存储方式和有效期管理。
31 6
|
4月前
|
存储 安全 Java
[Java] 阿里一面~说一下ArrayList 与 LinkedList 区别
[Java] 阿里一面~说一下ArrayList 与 LinkedList 区别
123 1
|
8月前
|
存储 安全 Java
【java常见的面试题】ArrayList 和 LinkedList 的区别是什么?
Java基础的面试题ArrayList 和 LinkedList 的区别是什么?
|
Java
Java 最常见面试题:ArrayList 和 LinkedList 的区别是什么?
Java 最常见面试题:ArrayList 和 LinkedList 的区别是什么?
81 0