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)
上一篇 2026年1月29日 下午4:22
下一篇 2026年1月29日 下午5:01


相关推荐

  • linux的rwx权限,linux权限管理:rwx

    linux的rwx权限,linux权限管理:rwx标签:rwx权限管理简介:r,w,x对文件及目录进行权限管理,从而达到文件及目录管理。1、rwx对于文件而言:r:可读,可以使用类似cat等命令查看文件内容;w:可写,可以编辑或删除此文件;x:可执行,exacutable,可以命令提示符下当作命令提交给内核运行;2、rwx对于目录而言:r:可以对此目录执行ls以列出内部的所有文件;w:可以在此目录创建文件;x:可以使用cd切换进此目录,也可以使用…

    2022年6月10日
    65
  • 阿里云通义千问 Qwen 3 旗舰版模型宣布更新:性能全面提升,超越 Kimi、DeepSeek 等行业顶尖水平

    阿里云通义千问 Qwen 3 旗舰版模型宣布更新:性能全面提升,超越 Kimi、DeepSeek 等行业顶尖水平

    2026年3月12日
    4
  • tkmapper教程_tkr和tka的区别

    tkmapper教程_tkr和tka的区别tkMapper入门1、tkMapper介绍1.1SpringBoot整合MyBatis以及tkMapper1.2在启动类上修改注解`@MapperScan`2、tkMapper的使用2.1创建数据表2.2创建实体类2.3创建Mapper接口2.4测试3、tkMapper的常用方法3.1类别实体类3.2类别接口增加修改删除查询查询所有根据主键查询条件查询分页查询带条件的分页查询关联查询1、通过多个单表操作实现2、自定义连接查询2.1、在DAO接口自定义方法2.2、创建Mapper文件1、

    2022年10月7日
    6
  • apache 80端口被占用_tomcat8005端口被占用

    apache 80端口被占用_tomcat8005端口被占用参考:https://jingyan.baidu.com/article/1876c8527b1fc3890b13763b.html1.win+R,输入cmd,打开命令行窗口2.命令行输入netstat-ano3.找到80端口及对应进程 4.在任务管理器中的进程处查看与上述80端口对应的PID相同的进程,并关闭。如果没有PID,选择“查看”–>"选择列"–…

    2025年6月20日
    5
  • PHP实现敏感词过滤系统「建议收藏」

    PHP实现敏感词过滤系统「建议收藏」码说明1、敏感词库维护更新脚本:reload_dict.php,提供自动更新字典库到trie-tree文件的过程PHP<?php//设置内存ini_set(‘memory_limit’,’128M’);//读取敏感词字典库$handle=fopen(‘dict.txt’,’r’);//生成空的trie-tree-filter$resTrie=trie_filter_new();while(!feof($handle)){$it

    2022年6月13日
    77
  • 编写socket套接字的步骤_windows7任务栏组成部分

    编写socket套接字的步骤_windows7任务栏组成部分详细内容请见书Windows程序设计珍藏版1081页或请见文章:https://www.jianshu.com/p/066d99da7cbd

    2022年8月18日
    8

发表回复

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

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