LinkedList添加了可以使其用作栈、队列、双端队列的方法:
1.getFirst()和element()一样,返回列表的头(第一个元素)
2.peek()与前两个方法不同,前两个方法当List为空时抛出NoSuchElementException异常,而peek()在List为空的时候返回null不会抛出异常
3.removeFirst()与remove()完全一样,移除并返回列表的头(第一个元素),当列表为空时,抛出NoSuchElementException异常
4.poll()方法也是移除并返回列表的头,当列表为空时,返回null,不会抛出异常
5.removeLast()移除并返回列表最后一个元素 (出栈)
6.addFirst()在列表头添加一个元素
7.add(), addLast(), offer()都是在列表尾添加一个元素 (入栈)
Stack(栈)
//逆序输出一串字符串
Stack<String> stack = new Stack<String>();
String s = "i have a dream";
for (String s1 : s.split("")) {
stack.push(s1);
}
while(!stack.empty()){
System.out.print(stack.pop());
}
/**
输出结果: maerd a evah i
**/
LIFO(后进先出)
1.empty()检查栈内是否还有元素
2.push(T)入栈
3.pop()出栈