面试问题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的很少从底层数据结构上去考虑性能问题,实际业务中遇到慢的情况可能会去尝试改变一下选择哪一个,要么是从架构上去做技术实现选择了。

目录
相关文章
|
11月前
|
安全 Java API
Java SE 与 Java EE 区别解析及应用场景对比
在Java编程世界中,Java SE(Java Standard Edition)和Java EE(Java Enterprise Edition)是两个重要的平台版本,它们各自有着独特的定位和应用场景。理解它们之间的差异,对于开发者选择合适的技术栈进行项目开发至关重要。
1599 1
|
11月前
|
算法 Java
50道java集合面试题
50道 java 集合面试题
|
11月前
|
算法 Java
50道java基础面试题
50道java基础面试题
|
12月前
|
Java 测试技术
Java浮点类型详解:使用与区别
Java中的浮点类型主要包括float和double,它们在内存占用、精度范围和使用场景上有显著差异。float占用4字节,提供约6-7位有效数字;double占用8字节,提供约15-16位有效数字。float适合内存敏感或精度要求不高的场景,而double精度更高,是Java默认的浮点类型,推荐在大多数情况下使用。两者都存在精度限制,不能用于需要精确计算的金融领域。比较浮点数时应使用误差范围或BigDecimal类。科学计算和工程计算通常使用double,而金融计算应使用BigDecimal。
3762 102
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
540 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
缓存 Java 关系型数据库
Java 面试经验总结与最新 BAT 面试资料整理含核心考点的 Java 面试经验及最新 BAT 面试资料
本文汇总了Java面试经验与BAT等大厂常见面试考点,涵盖心态准备、简历优化、面试技巧及Java基础、多线程、JVM、数据库、框架等核心技术点,并附实际代码示例,助力高效备战Java面试。
551 0
|
10月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
439 1
|
10月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
408 1
|
11月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案

热门文章

最新文章