LinkedList的简单运用以及与ArrayList的异同
记录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
- 点赞
- 收藏
- 分享
- 文章举报
- Spine的回调函数,以及简单运用
- 游戏框架View以及简单的运用
- java中ArrayList,LinkedList和Vector类的异同以及部分使用方法
- UISlider和UIScreenEdgePanGestureRecognizer和简单运用,包括滑动时颜色变化,滑动按钮以及Slider按钮颜色设置
- Java Session的简单运用 可用于自动登录以及保存需要的数据等
- 运用hover制作简单的下拉导航栏以及对relative的理解
- C语言中宏定义中#和##之我见以及其在嵌入式中的简单运用
- 4、面向对象以及winform的简单运用(继承与多态、命名空间与类库)
- Java集合框架——List下ArrayList、Vector、LinkedList的简单分析
- 关于ArrayList以及简单哈希表中的一些常用的东东
- 1、面向对象以及winform的简单运用(开篇)
- 2、面向对象以及winform的简单运用(面向对象的四大基本特性)
- 5、面向对象以及winform的简单运用(方法重载、隐藏、重写与虚方法)
- 6、面向对象以及winform的简单运用(抽象基类与接口)
- 8、面向对象以及winform的简单运用(事件与winform入门)
- Bootstrap的学习以及简单运用
- 我谈Silverlight架构和模式运用1-- ModelView模式最简单教程-讲解无代码触发事件,以及类型转换器的强大功能
- 常用集合的使用:ArrayList以及LinkedList
- Bootstrap的学习以及简单运用
- struts2学习笔记(2)——简单的输入验证以及标签库的运用