欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

ArrayList和LinkedList的各自优点,linkedlist

来源: javaer 分享于  点击 46585 次 点评:220

ArrayList和LinkedList的各自优点,linkedlist


java编程中我们用最多的几个类可以就是String,ArrayList,HashMap了.

特别是ArrayList我们几乎无人不知,甚至有乱用的嫌疑了.

我们来看看ArrayList和LinkedList的区别.

故名思意ArrayList是数组表,LinkedList是链接表.

ArrayList的所有数据是在同一个地址上,而LinkedList的每个数据都拥有自己的地址.

 

我们来比较一下常用的数据的插入,数据的删除,数据的更新,数据查询.

数据插入 :比如在i节点插入一个新数据

   ArrayList:循环到i节点,插入一个新数据,然后把i节点后面的所有的数据的index加1. ->操作多

   LinkedList:循环到i节点,把前一个节点的后续链接到新数据,然后把新数据链接到后一个数据就可以了.  ->操作少

   结论:平均效率LinkedList要好.

 

数据删除 :比如删除i节点数据

   ArrayList:循环到i节点,然后把i节点后面的所有的数据的index减1. ->操作多

   LinkedList:循环到i节点,把前一个节点的后续链接到i节点的后一个数据就可以了.  ->操作少

   结论:平均效率LinkedList要好.

 

数据查询 :比如查询i节点数据

   ArrayList:循环到i节点. ->操作少

   LinkedList:循环到i节点.  ->操作少,但由于每个数据的地址不一样,查询比如 ArrayList慢.

   结论:平均效率 ArrayList要好.

 

数据更新 :比如更新i节点数据

   ArrayList:循环到i节点,把数据更新. ->操作少

   LinkedList:循环到i节点,把前数据更新.  ->操作少,但由于查询速度没有 ArrayList好,所有效率没有 ArrayList好.

   结论:平均效率ArrayList要好.

 

这样我们就可以看到各有优点.

如果查询操作较多ArrayList的效果更好.如果删除,插入较多LinkedList的效果较好.具体怎么用还看具体的需求.

 

相关文章

    暂无相关文章

用户点评