java中棧的管理

棧的定義

  • 棧是一種特殊的線性表,只能在一端進行操作
  • 往棧中添加元素的操作,一般叫做push,入棧
  • 從棧中移除元素的操作,一般叫做pop,出棧(只能移除棧頂元素,也叫做:彈出棧頂元素)
  • 後進先出的原則,Last In First Out,LIFO
    在這裏插入圖片描述

棧的接口設計

在這裏插入圖片描述
使用前面的ArrayList的作爲包,使用組合作爲基礎。

package chapter_03棧;

import java.util.ArrayList;
import java.util.List;


public class Stack<E> {
	private List<E> list = new ArrayList<>();
	
	public void clear() {
		list.clear();
	}
	
	public int size() {
		return list.size();
	}

	public boolean isEmpty() {
		return list.isEmpty();
	}

	public void push(E element) {
		list.add(element);
	}


	public E pop() {
		return list.remove(list.size() - 1);
	}


	public E top() {
		return list.get(list.size() - 1);
	}
}

測試

package chapter_03棧;

public class Main {

	public static void main(String[] args) {
		Stack<Integer> stack = new Stack<>();
		stack.push(11);
		stack.push(22);
		stack.push(33);
		stack.push(44);
		
		while (!stack.isEmpty()) {
			System.out.println(stack.pop());
		}
	}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章