您的位置:首页 > 其它

LinkedList的简单运用以及与ArrayList的异同

2020-02-03 04:39 218 查看

记录LinedList之前先记录一个学到的小细节

自己刚学都是用
ArrayList list=new ArrayList();
这种方式去创建一个ArraysList实用类的对象 然后经常看到以下这种写法

List list=new ArrayList();
(听说这种写法快捷方式容易导错包 正确—java.util.Link 而且还用到了ArrayList实用类所以还要导入一个 import java.util.ArrayList;)
这种写法的话应该叫做 父类引用指向子类对象 注意的是使用了这种方法创建的对象用不了ArrayList独有的方法(具体哪些用不了,作为一个初学者,我还没找到。)。!!!

还有一个小细节就是
list.add(3);
集合里是不能放基本数据类型的,只能放对象或者是引用类型;
但是这里面放了一个3,编译器也没有报错;

*************************************************学完实用类后记得回来看************************************** 可是实际上放入的3已经不是基本数据类型了;(具体是什么我希望自己在写完实用类的时候能理解) 老师是这样说的:编译器把3做了一个自动的装箱,变成了包装类 *********************************************************************************************************************

好哈 进入正题:
LinkedList也是Collecton接口的子接口List下的一个实用类
然后Linkedlist的主要运用的场景为:
需要在首尾部添加、删除元素时它显得更方便更好用

<1>Linkedlist类用于创建链表数据结构
<2>做插入删除操作时,他能提供更好的性能。

今天学了它的6个独有的方法分别是
.addFirst(); 将元素插入到当前集合首
.addLast(); 将标签插入到当前集合尾部
.removeFirst(); 删除集合首部的元素
.removeLast(); 删除集合尾部的元素
.getFirst(); 获得集合第一个元素
.getLast(); 获得集合最后一个元素

在学习的时候我产生了一个疑问:
用Linkedlist的话怎么去实现在指定位置去进行插入,删除等等操作。
然后通过自己去实践发现ArrayList的那些方法.add(int index,obj)等等用Linkedlist同样能够使用。

最后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@foxmail.com

——————————————————————————链接信息https://www.cnblogs.com/Amedeo/p/7885146.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
梦里有只猫。 发布了1 篇原创文章 · 获赞 0 · 访问量 41 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: