用jdk中的stack,是继承vector实现的,内部用数组,不够的时候会扩容,有一个最大的容量,,是不是判断size等于最大容量的时候就算满了?我是在用两个栈实现队列的时候,想到的这个问题,怎么办呢?很菜,求不喷
基于Vector实现的stack,会自动扩容,不用理会栈满的问题,默认数组大小都是10,扩容规则也是一样:
int newCapacity = oldCapacity + ((capacityIncrement > 0) ?
capacityIncrement : oldCapacity);
capacityIncrement 为构造器中传入的一个值,如果传了这个值,扩容就是当前数组大小+capacityIncrement ;
没有传入这个值得话,扩容后的数组就是当前数组的2倍。