JAVA棧操作 Stack——不可不知的操作

愛吃早餐的程式設計師發表於2020-11-24
  • 棧這個概念作為計算機裡面最重要的概念之一嗎,一直以來就是我們面試中常問的問題,在JAVA中有它的操作API,下面就是它的一些案例。
import java.util.ArrayList;
import java.util.Stack;

/*
 * 【Author】 愛吃早餐的程式設計師
 * 【Time】2020年11月23日 下午4:42:13
 * 【Function】 棧操作  Stack   push和add都是向棧中新增元素,底層實現也是一樣的,都是先將Vector擴容,再新增
 */
public class Test6 {
	public static void main(String[] args) {
		Stack<String> stack = new Stack<String>();
		stack.add("1");
		stack.add("1");
		stack.add("2");
		stack.add("3");
		stack.add("5");
		stack.add("4");
		for (String string : stack) {
			if (string.equals("2")) {
				//stack.pop();  //pop方法移除並返回棧頂元素,如果是空棧,會丟擲異常:EmptyStackException  如果刪除 java.util.ConcurrentModificationException
				stack.peek();
			}
		}
		int search1 = stack.search("1");
		int search4 = stack.search("4");
		System.out.println(search1);
		System.out.println(search4);
		System.out.println("======================");
		String peek = stack.peek(); // peek方法獲取棧頂元素,但並不移除,
		System.out.println(peek);
		System.out.println(stack);
		boolean empty = stack.isEmpty();
		ArrayList<String> arrayList = new ArrayList<String>();
		arrayList.add("1212");
		boolean addAll = stack.addAll(arrayList);
		System.out.println(addAll);
		System.out.println(stack);
	}
}

相關文章