java集合类下提供现成的栈这种数据结构Stack,还有就是就是ArrayList和LinkedlList都实现了Queue接口,可以直接利用队列的先进后出,栈的先进后出。
由JDK的源码可以知道,LinkedList实现双端队列的接口,同时也可以实现栈的方法,但是如果单纯想使用栈,直接使用stack
使用LinkedList实现队列的功能,常用的方法如下:
import java.util.*;
/*队列元素的先进先出*/
public class Test4 {
public static void main(String[] args) {
LinkedList<Integer> list=new LinkedList<Integer>();
//添加元素,将元素添加到队列头
list.offer(1);
list.offer(2);
list.offer(3);
//返回队列的头元素,出队列
System.out.println(list.poll());
//返回队列的头元素,但是不出队列
System.out.println(list.peek());
}
}
栈的主要方法:
import java.util.*;
/*队列元素的先进先出*/
public class Test4 {
public static void main(String[] args) {
Stack<Integer> stack=new Stack<Integer>();
//入栈的方法
stack.push(1);
stack.push(2);
stack.push(3);
//返回栈的头元素,但是不出栈
System.out.println(stack.peek());
//返回栈的头元素,出栈
System.out.println(stack.pop());
}
}