Java.util.Stack 类

java.util.Stack.addAll()方法用于在指定位置插入指定集合的​​所有元素在堆栈中。该方法将指定位置的当前元素(如果有)和任何后续元素向上移动(增加它们的索引)。新元素将按照指定集合的​​迭代器返回的顺序出现在堆栈中。

语法

public boolean addAll(int index, Collection<? extends E> c)

这里,E 是容器维护的元素类型。

参数

index 指定需要插入集合第一个元素的索引号
c 指定包含需要添加到堆栈中的所有元素的集合。

返回值

如果堆栈因调用而更改,则返回 true,否则返回 false。

异常

如果索引超出范围,则抛出IndexOutOfBoundsException

如果指定的集合为空,则抛出NullPointerException

示例:

在下面的示例中,使用 java.util.Stack.addAll() 方法插入所有元素堆栈MyStack中指定位置处的堆栈stk

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建堆栈
    Stack<Integer> MyStack = new Stack<Integer>();
    Stack<Integer> stk = new Stack<Integer>();

    //填充 MyStack
    MyStack.push(10);
    MyStack.push(20);
    MyStack.push(30);

    //填充stk
    stk.push(100);
    stk.push(200);

    //打印堆栈
    System.out.println("Before method call, MyStack contains: " + MyStack); 

    MyStack.addAll(1, stk);
    
    //打印堆栈
    System.out.println("After method call, MyStack contains: " + MyStack);      
  }
}

上述代码的输出将是:

Before method call, MyStack contains: [10, 20, 30]
After method call, MyStack contains: [10, 100, 200, 20, 30]