arraylist和linkedlist的区别_arraylist 和linkedlist

arraylist和linkedlist的区别_arraylist 和linkedlist       这段时间把疯狂JAVA再看了一遍,发现Stack,ArrayDeque,LinkedList都可以作为栈使用,所以就稍微从性能以及实现的细节对比这三者的区别。类继承树       由继承树看出,三者都是Collection的间接实现类。&

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

       这段时间把疯狂JAVA再看了一遍,发现Stack,ArrayDeque,LinkedList都可以作为栈使用,所以就稍微从性能以及实现的细节对比这三者的区别。

类继承树

Collection继承树
       由继承树看出,三者都是Collection的间接实现类。
       ArrayDeque实现Deque接口,Stack继承于Vector,LinkedList实现Deque与List接口。

区别

底层数据存储方式

  存储方式
Stack 长度为10的数组
ArrayDeque 长度为16的数组
LinkedList 链表

方法参照表

Stack ArrayDeque LinkedList
push(e) addFirst(e)/offerFirst(e) addFirst(e)/offerFirst(e)
pop() removeFirst()/pollFirst() removeFirst()/pollFirst()
peek() getFirst()/peekFirst() getFirst()/peekFirst()

线程安全

  线程安全
Stack 线程同步
ArrayDeque 线程不同步
LinkedList 线程不同步

性能选项

     通常情况下,不推荐使用Vector以及其子类Stack

1.需要线程同步

    使用Collections工具类中synchronizedXxx()将线程不同步的ArrayDeque以及LinkedList转换成线程同步。

2.频繁的插入、删除操作:LinkedList

3.频繁的随机访问操作:ArrayDeque

4.未知的初始数据量:LinkedList

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191573.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mongo(三)基本操作

    mongo(三)基本操作

    2021年9月2日
    45
  • 由真值表求逻辑表达式的方法是_与非门逻辑表达式

    由真值表求逻辑表达式的方法是_与非门逻辑表达式第一种方法:以真值表内输出端“1”为准第一步:从真值表内找输出端为“1”的各行,把每行的输入变量写成乘积形式;遇到“0”的输入变量上加非号。第二步:把各乘积项相加,即得逻辑函数的表达式。第二种方法:以真值表内输出端“0”为准第一步:从真值表内找输出端为“0”的各行,把每行的输入变量写成求和的形式,遇到“1”的输入变量上加非号。第二步:把各求和项相乘,即得逻辑函数表达式。总结,哪…

    2025年5月26日
    4
  • XGBoost实战

    XGBoost实战1.XGBoost参数1.1常规参数GeneralParameters      booster[default=gbtree]:选择基分类器,可以是:gbtree,gblinear或者dart。gbtree和draf基于树模型,而gblinear基于线性模型。     &nbsp…

    2022年5月22日
    54
  • 基于K均值聚类算法的图像分割(Matlab)

    基于K均值聚类算法的图像分割(Matlab)文章目录一 K 均值聚类算法是什么 1 什么是聚类 2 初探 K 均值聚类算法 3 K 均值算法的原理与理解二 K 均值聚类算法如何在图像分割上应用 三 Matlab 仿真一 K 均值聚类算法是什么 1 什么是聚类 聚类是指通过既定的规则把物理或者抽象的集分成几个由类似特征的样本组成的类的过程 复杂点说 聚类指用一种类似性度为标准 将类似的样本划分到同一个组中 最终得到多个类 下图为聚类的过程 图 1 聚类的过程 2 初探 K 均值聚类算法 K means 算法是一种迭代运算的算法 K means 因其简便 有效的特点

    2025年11月4日
    2
  • 腾讯和字节待遇_字节和腾讯哪个值得去

    腾讯和字节待遇_字节和腾讯哪个值得去分享我对两家互联网大厂的了解和主观感受大家好,我是鱼皮,最近这段时间,应该是正值大三的小伙伴最忙碌的时候,不少同学都在准备秋季校园招聘。我当时是通过暑期实习转正进入的腾讯,再加上之前也在字节跳动实习过,所以今天就分享下我对这两家互联网公司的了解和工作感受,希望能帮助大家选择,也可以给还在校园的小伙伴一些坚持的动力吧。工作感受接下来我会从多个方面来分享。由于公司很大,不同部门存在差异,所以工作感受比较主观,不代表整个公司的情况。薪资互联网公司的薪资还是挺高的。像我当时在字节跳动实习时.

    2022年10月6日
    2
  • idea正则替换小技巧「建议收藏」

    idea正则替换小技巧「建议收藏」相信很多idea开发的人都遇到过要替换某些拷贝的内容然后转换成自己的注释,但是一个一个替换又太麻烦,正则替换这时就是快速解决的办法。如下面图所示这个java类里面的属性就是mybatis的自动生成,带了很多注释,但如果想换成swagger来展示给前端看的时候就需要替换成下面的样子。想要做到这一步只需要执行下面的正则就行。首先点击打开替换窗口,idea原生快捷键按CTRL+R就行,全…

    2022年9月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号