最近一直在学习集合,其中使用比较多的就是LinkedList,那么什么是LinkedList呢。在list中共有三种容器,LinkedList是容器的一种,具体介绍如下,
List:
|--Vector:组数据结构,是同步的(效率低,几乎不用),可增长。增删查询都很慢!
|--LinkedList:内部是数组数据结构,是不同步的(效率高),大小可变的,代替了Vector。查询速度快
|--ArrayList:内部是数链接列表实现(链表数据结构)。是不同步的(效率高),增删速度快。有角标,
但底层是链表结构
其中,LinkedList有很多方法,比如
getFirst(),if is empty ,throw NoSuchElementException
getLast(),if is empty ,throw NoSuchElementException
peekFirst(),if is empty ,return null
peekLast(),if is empty,return null;
removeFirst(),removeLast(), offerFirst(),offerLast() and so on~~~~
使用这些方法,就可以完成一个功能,使用LinkedList来模拟堆栈或队列数据结构,这也是笔试中的题,首先,什么是“堆栈或队列”呢。
/*
* 请使用LInkedList来模拟堆栈或队列数据结构。
*
* 堆栈:后进先出 first in last out(FILO)
*
* 队列:先进先出first in first out(FIFO)
*
* 我们应该描述这样一个容器,给使用提供一个容器对象完成这两种结构中的一种
*/
然后,如果是写一个队列的话,它得有自己的构造函数,当执行的时候可以自动创建一个LinkedList容器,还必须有添加、取出元