9.Stack类的操作

栈(Stack):

数据结构的一种,存储特点:Last In First Out.

Stack 类表示后进先出(LIFO)的对象栈.

要来实现的存储,底层可以使用数组来存储,也可以使用链表来存储.

官方建议:
使用栈尽量使用ArrayDeque:

Deque接口及其实现了提供LIFO堆操作的更 完成和更抑制的set,应该优先使用此set,而非此类.

例如:

package com.java520.day22.deque_demo;

import java.util.ArrayDeque;
import java.util.Deque;

public class DequeDemo {
    public static void main(String[] args) {
        Deque deque = new ArrayDeque<>();
        deque.add("君");
        deque.add("不");
        deque.add("见");
        deque.add("高");
        deque.add("堂");
        deque.add("明");
        deque.add("镜");
        deque.add("悲");
        deque.add("白");
        deque.add("发");
        
        //获取第一个元素,但不移除
        System.out.println(deque.peekFirst());
        System.out.println(deque.getFirst());
        
        //获取最后一个元素,但不移除
        System.out.println(deque.peekLast());
        System.out.println(deque.getLast());
        
        //打印队列中的元素
        System.out.println(deque);
        
        //压栈
        deque.push("朝");
        System.out.println(deque);
    }
}
/**
 *小结: 
 * add是类似于数组中的操作方法,添加元素会至队列的末尾
 * push是队列的操作手段,会把元素压至第一个
 * peek与get作用一致(目前还没有发现什么不同的地方)
 * ArrayDeque把第一个位置认为是栈顶,Stack把最后一个位置认为是栈顶
 */


你可能感兴趣的:(9.Stack类的操作)