zoukankan      html  css  js  c++  java
  • ArrayList和LinkedList的区别

    ArrayList和LinkedList是常用的两种存储结构,那么它们有哪些区别呢?这里简单给出一部分。

    1、ArrayList和LinkedList可想从名字分析,它们一个是Array(动态数组)的数据结构,一个是Link(链表)的数据结构,此外,它们两个都是对List接口的实现。

    前者是数组队列,相当于动态数组;后者为双向链表结构,也可当作堆栈、队列、双端队列

    2、当随机访问List时(get和set操作),ArrayList比LinkedList的效率更高,因为LinkedList是线性的数据存储方式,所以需要移动指针从前往后依次查找。

    3、当对数据进行增加和删除的操作时(add和remove操作),LinkedList比ArrayList的效率更高,因为ArrayList是数组,所以在其中进行增删操作时,会对操作点之后所有数据的下标索引造成影响,需要进行数据的移动。

    4、从利用效率来看,ArrayList自由性较低,因为它需要手动的设置固定大小的容量,但是它的使用比较方便,只需要创建,然后添加数据,通过调用下标进行使用;而LinkedList自由性较高,能够动态的随数据量的变化而变化,但是它不便于使用。

    5、ArrayList主要控件开销在于需要在lList列表预留一定空间;而LinkList主要控件开销在于需要存储结点信息以及结点指针信息。

    作者:耑新新,发布于  博客园

    转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com

  • 相关阅读:
    Linux 升级make (gmake)
    C库函数-calloc()
    redis若干命令 中文翻译
    centos7 安装xinetd,telnet
    vim 显示行号
    重启redis
    TS 过滤 .meta文件
    TS 判断为空
    TS 聚合查询 读取MongoDB
    windows 编译libuv库.txt
  • 原文地址:https://www.cnblogs.com/Arthurian/p/7885146.html
Copyright © 2011-2022 走看看