1、介绍
Stack 是一种先进后出的数据结构,它是一种特殊的线性表,只能在一端进行相关入栈和出栈(获取)操作,并且支持存入相同的元素和空对象。
2、主要原理
java中的Stack是内部是通过数组实现的,每次操作都是通过对数组的操作,定义的数组为Object的数组(Object[]),所以每次对元素进行入栈、出栈操作都是对当前的Object数组进行操作,而且都是在数组的末尾进行操作。
Stack继承Vector,默认Stack的大小的为10,并且不可以初始化大小。每次扩容的值为当前的栈大小的2倍,因为capacityIncrement默认值为0。
3、入栈
入栈 - 相当于把数据放入到栈中,由于默认栈的大小为10,所以超过10个元素时,就需要扩容,扩容的方式为调用Arrays.copyOf(elementData, newCapacity)