`

每天一道面试题-谈谈ArrayList和LinkedList的区别

 
阅读更多

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面试题】ArrayList和LinkedList区别

    Java面试题10.ArrayList LinkedList.mp4

    Java面试题10.ArrayList LinkedList.mp4

    1000道Java 程序员必备面试题-V1版.pdf

    ArrayList 和 LinkedList 的区别 ArrayList 和 LinkedList 是 Java 中两个常用的集合类。ArrayList 是基于数组实现的,LinkedList 是基于双链表实现的。ArrayList 的随机访问集合元素时性能较好,因为可以直接返回...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    Java面试题10.ArrayList 和LinkedList的区别 Java面试题11.HashMap和HashTable的区别 Java面试题12.实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试题13.线程的的实现方式?怎么启动线程?怎么区分线程? ...

    java面试题---传智博客和其他

    Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域,包括基础语法、面向对象、集合框架、多线程、异常处理、IO流、网络编程、JVM内存模型、设计模式、Spring框架、数据库操作等。以下是根据提供的...

    java面试题-应届生面试题-面试大全

    - **List、Set、Queue**:理解各种接口(ArrayList、LinkedList、HashSet、TreeSet、PriorityQueue等)的特点和使用场景。 - **Map接口**:熟悉HashMap、TreeMap、LinkedHashMap的区别,理解键值对的概念。 - **...

    JAVA的面试题-汇总!!!

    - 详述ArrayList和LinkedList的区别,以及在什么情况下选择使用它们。 - 解释HashMap和HashSet的实现原理,以及它们之间的关联。 - 介绍泛型的使用,以及类型擦除的概念。 - 讨论并发集合类如ConcurrentHashMap...

    java面试题-外企软件工程师面试题大全

    - List、Set、Queue和Map接口的理解,以及ArrayList、LinkedList、HashSet、HashMap等实现类的特性。 - 集合操作,如迭代、查找、添加、删除以及集合的排序和比较。 - 泛型的使用,理解类型擦除和通配符。 4. **...

    java私塾面试题----JAVA基础1.rar

    Java私塾面试题集合——JAVA基础1.pdf 这个压缩包文件包含了针对Java初学者和求职者的一系列面试题目,主要涵盖了Java基础知识。这些题目旨在检验和提升候选人在Java编程语言的理解、基本概念、语法和常见问题解决...

    java面试题-葵花宝典

    面试中可能会问到ArrayList与LinkedList的区别,HashMap的工作原理,以及并发环境下如何选择集合类。 多线程是Java的一大优势,面试中常涉及线程的创建方式、同步机制(synchronized、Lock等)、并发工具类(如...

    java私塾面试题----JAVA代码与编程3

    4. **集合框架**:ArrayList、LinkedList、HashMap、HashSet、TreeMap等集合类的使用和区别,以及遍历、查找、删除等操作,面试中常会考察这些内容。 5. **多线程**:线程的创建(Thread类和Runnable接口)、线程...

    最新各大公司企业真实面试题-金证公司笔试.txt

    :“技术总监 单兴华 最新各大公司企业真实面试题-金证公司笔试.txt” 暗示这个资料可能由技术总监单兴华整理或推荐,他可能是金证公司或者相关行业的技术专家,他的参与使得这份面试题集具有较高的权威性和实用性。...

    java面试题-200题

    3. **集合框架**:Java集合框架包括List(如ArrayList和LinkedList)、Set(如HashSet和TreeSet)和Map(如HashMap和TreeMap)接口及其实现。面试中可能会要求解释它们的区别,以及如何根据需求选择合适的数据结构。...

    java面试题--java面试题

    3. **集合框架**:Java集合框架是存储和管理对象的关键,包括List、Set、Queue和Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现。面试中可能涉及这些数据结构的特性和使用场景,以及它们之间的相互...

    面试题-37道.docx

    【Java开发面试题】系列包含了多个关于Java编程中核心概念的问题,主要涵盖了数据结构和并发安全等内容。以下是对这些问题的详细解答: 1. **HashMap的实现原理** HashMap在Java中是一个结合了数组和链表的数据...

    JAVA面试题-基础部分3

    - **List、Set与Queue**:理解它们的区别,常用的实现类如ArrayList、LinkedList、HashSet、HashMap、LinkedList等。 - **泛型**:用于限制集合元素类型,提供类型安全。 - **遍历与迭代器**:掌握foreach循环和...

    java面试题-外企软件工程师面试题大全.rar

    这份"java面试题-外企软件工程师面试题大全"包含了丰富的面试题目,旨在帮助求职者更好地准备Java相关的技术面试。 一、基础概念与语法 1. 讲解Java的三大特性:封装、继承、多态,以及它们在实际编程中的应用。 2....

    Java面试题-基础+集合原理.pdf

    本资源主要涵盖Java面试题的基础知识和集合原理,涵盖Object-Oriented Programming(OOP)相关知识点,包括多态(Polymorphism)、方法Overload和Override、等于运算符(==)和equals()方法的使用、final、finally...

Global site tag (gtag.js) - Google Analytics