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());
}
}
|