JAVAJava学习笔记技术干货

开发笔记之JAVA ArrayList 和 LinkedList

2017-03-09  本文已影响185人  _寒鸦

间歇性精神十足, 持续性要死不活的我又来更新啦.

此篇主要介绍ArrayList和LinkedList这两个货色的.

快上车! 终点站! 秋名山!


第一站 ArrayList

他和Array的关系类似于String和StringBuffer的关系, 他是个可变的数组.
Array对与我们来说不够听话, 没有提供给我们足够"玩弄"它的方式, 所以我们"玩弄"更听话的ArrayList.

  1. 首先要注意的是: 他是LIst接口的可变数组实现, 每个 ArrayList 实例都有一个容量, 这个容量是用来存储列表元素的数组的大小, 看一下它的构造器
ArrayList()

这个东西的含义要明确, 是构造一个初始容量为 10 的空列表, 但是不用担心, 他会随着你的添加去增加其容量的, 他是一个连续的! 这句话很重要, 他是跟LinkedList的最大区别.

  1. 而且第二点要注意的是: 这东西可不是加了什么线程安全的, 所以你要注意这个问题.
本着已实用为主的老规矩介绍一下常用的方法
add(E e)  // E的意思是泛型
return boolean;
add(int index, E element)
return void;
clear()
return void;
get(int index)
return E;
remove(int index)
return E;
set(int index, E element)
return E;

增删改查都有了, 怎么样? 是不是相对于Array这个可变的好玩多了.


第二站 LinkedList

他是List 接口的链接列表实现, 他是链式的.

一定要记住这句话, 这句话是他与ArrayList不同的关键.
首先来看他的构造方法.

LinkedList()

他跟ArrayList有什么不同呢? 他构造的是一个空列表.
可能你看到这你会有些疑问, 不要着急, 先往下看, 你会有更多的疑问(斜眼笑).
还是本着实用的原则, 看一下常用的方法.

add(E e) 
return boolean;
add(int index, E element)
clear()
return void;
get(int index)
return E;
remove(int index)
return E;
set(int index, E element)
return E;

你看到这你所应该有的表情应该是👇

承让承让

且慢动手, 你还记得那句重要的话么-----他是List 接口的链接列表实现, 他是链式的.
这就是为什么他俩的方法基本上都一样.


第三站, ArrayList 和 LinkedList的区别

顺便刚才想打人的旅客请下车, 不给你们看, 傲娇脸.

他俩的区别说白了就是一个连续和链式的区别.

链式删除后

当然了, 链式的特性不是这么简简单单的两句话就能概括好的, 如果再往下介绍那就跑题了, 你只需要在脑中有一个印象, 后期我会专门开一篇文章来介绍的.


终点站

下车了! 各位. 如果你们没看够的话我还有几篇文章, 想多看看关于JAVA基础, 或者是我个人龟速更新的编程心得都有哦.

个人编程想法心得(不定期更新)
开发笔记之详述JAVA构造函数和代码块本身及其执行细节
开发笔记之冒泡排序, 选择排序, 折半查找
iOS开发笔记-基于AFNetworking 3.0的登录 注册

上一篇下一篇

猜你喜欢

热点阅读