1,首先,底层的数据结构不同
ArrayList底层的数据结构是数组
LinkedList底层的数据结构是双向链表
2,其次,做增删改查的差异
2.1 查询(定位)
数组是一段连续的内存空间,所以定位快
而链表需要通过上一个节点找到下一个节点,依次类推,所以定位相比数组要慢
2.2 增加
如果添加到末尾,则差异不大,
ArrayList可能会面临扩容的情况,因为底层是数组
而LinkedList只需要生成新对象,然后改变指针指向即可
如果添加到中间,
ArrayList需要将后续的元素往前挪动,所以这一块是比较耗时间的
而LinkedList则不需要,只需要改变前后对象的指针指向即可,但是寻址的时间会比ArrayList长
2.3 删除
删除的分析跟添加类似
2.4 修改
除掉首尾两个节点,ArrayList定位快,所以修改也相比LinkedList要快
3,哪种数据结构会更耗内存
LinkedList要更耗内存,因为LinkedList的节点除了保存数据本身,还需要保证两个引用指向,一个是前置,一个是后置
--------------------- 本文来自 互联网十年老兵- 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/happy_coding_life/article/details/80381203?utm_source=copy
相关推荐
【Java面试题】ArrayList和LinkedList区别
Java面试题10.ArrayList LinkedList.mp4
ArrayList 和 LinkedList 的区别 ArrayList 和 LinkedList 是 Java 中两个常用的集合类。ArrayList 是基于数组实现的,LinkedList 是基于双链表实现的。ArrayList 的随机访问集合元素时性能较好,因为可以直接返回...
Java面试题10.ArrayList 和LinkedList的区别 Java面试题11.HashMap和HashTable的区别 Java面试题12.实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试题13.线程的的实现方式?怎么启动线程?怎么区分线程? ...
Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域,包括基础语法、面向对象、集合框架、多线程、异常处理、IO流、网络编程、JVM内存模型、设计模式、Spring框架、数据库操作等。以下是根据提供的...
- **List、Set、Queue**:理解各种接口(ArrayList、LinkedList、HashSet、TreeSet、PriorityQueue等)的特点和使用场景。 - **Map接口**:熟悉HashMap、TreeMap、LinkedHashMap的区别,理解键值对的概念。 - **...
- 详述ArrayList和LinkedList的区别,以及在什么情况下选择使用它们。 - 解释HashMap和HashSet的实现原理,以及它们之间的关联。 - 介绍泛型的使用,以及类型擦除的概念。 - 讨论并发集合类如ConcurrentHashMap...
- List、Set、Queue和Map接口的理解,以及ArrayList、LinkedList、HashSet、HashMap等实现类的特性。 - 集合操作,如迭代、查找、添加、删除以及集合的排序和比较。 - 泛型的使用,理解类型擦除和通配符。 4. **...
Java私塾面试题集合——JAVA基础1.pdf 这个压缩包文件包含了针对Java初学者和求职者的一系列面试题目,主要涵盖了Java基础知识。这些题目旨在检验和提升候选人在Java编程语言的理解、基本概念、语法和常见问题解决...
面试中可能会问到ArrayList与LinkedList的区别,HashMap的工作原理,以及并发环境下如何选择集合类。 多线程是Java的一大优势,面试中常涉及线程的创建方式、同步机制(synchronized、Lock等)、并发工具类(如...
4. **集合框架**:ArrayList、LinkedList、HashMap、HashSet、TreeMap等集合类的使用和区别,以及遍历、查找、删除等操作,面试中常会考察这些内容。 5. **多线程**:线程的创建(Thread类和Runnable接口)、线程...
:“技术总监 单兴华 最新各大公司企业真实面试题-金证公司笔试.txt” 暗示这个资料可能由技术总监单兴华整理或推荐,他可能是金证公司或者相关行业的技术专家,他的参与使得这份面试题集具有较高的权威性和实用性。...
3. **集合框架**:Java集合框架包括List(如ArrayList和LinkedList)、Set(如HashSet和TreeSet)和Map(如HashMap和TreeMap)接口及其实现。面试中可能会要求解释它们的区别,以及如何根据需求选择合适的数据结构。...
3. **集合框架**:Java集合框架是存储和管理对象的关键,包括List、Set、Queue和Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现。面试中可能涉及这些数据结构的特性和使用场景,以及它们之间的相互...
【Java开发面试题】系列包含了多个关于Java编程中核心概念的问题,主要涵盖了数据结构和并发安全等内容。以下是对这些问题的详细解答: 1. **HashMap的实现原理** HashMap在Java中是一个结合了数组和链表的数据...
- **List、Set与Queue**:理解它们的区别,常用的实现类如ArrayList、LinkedList、HashSet、HashMap、LinkedList等。 - **泛型**:用于限制集合元素类型,提供类型安全。 - **遍历与迭代器**:掌握foreach循环和...
这份"java面试题-外企软件工程师面试题大全"包含了丰富的面试题目,旨在帮助求职者更好地准备Java相关的技术面试。 一、基础概念与语法 1. 讲解Java的三大特性:封装、继承、多态,以及它们在实际编程中的应用。 2....
本资源主要涵盖Java面试题的基础知识和集合原理,涵盖Object-Oriented Programming(OOP)相关知识点,包括多态(Polymorphism)、方法Overload和Override、等于运算符(==)和equals()方法的使用、final、finally...