Java中栈和队列的实现类

Java中栈和队列的实现类

  • Deque接口(双端队列)继承了队列Queue接口
  • Deque有两个主要的实现类:ArrayDeque(底层使用数组),LinkedList(底层使用双向链表)
  • Queue也有两个主要的实现类:ArrayDeque(底层使用数组),LinkedList(底层使用双向链表)
public interface Deque<E> extends Queue<E> {
}
import java.util.Deque;
import java.util.LinkedList;

public class ArrayListDemo04 {
    public static void main(String[] args) {
        //栈
        Deque<String> deque = new LinkedList();
        deque.push("A1");//入栈
        deque.push("A2");
        deque.push("A3");
        System.out.println(deque);//[A3, A2, A1]
        System.out.println(deque.size());//3
        System.out.println(deque.peek());//获取栈顶元素  A3
        while(!deque.isEmpty()){
            String pop = deque.pop();//出栈
            System.out.println("出栈:"+pop);
        }
    }
}

执行结果:
[A3, A2, A1]
3
A3
出栈:A3
出栈:A2
出栈:A1

Process finished with exit code 0

上一篇:为什么创建集合对象时用List<String> list = new ArrayList<String>()而不是用ArrayList<Object> list = new ArrayList<>()


下一篇:ArrayList在头尾操作元素和LinkedList使用特有方法在头尾操作元素的效率 提示 : 效率比较, 就是ArrayList 头尾增删用的时间, 与LinkedList头尾增删用的时间,