创建一个随机方法,将对象添加到具有随机索引的堆栈中

时间:2013-03-24 02:18:05

标签: java random stack

以下是小样本:

Stack<String> myStack = new Stack<String>();
myStack.add("Cat");
myStack.add("Dog");
myStack.add("Bird");
myStack.add("Elephant");

所以基本上myStack对象有4个字符串。我想使用RANDOM索引将另外3个字符串插入myStack。通常当我使用myStack.add();放置一个新的String时,新的输入将被分配在顶部(索引0),在这种情况下我不希望它。我希望它随机放入随机索引中。解决方案是什么?

1 个答案:

答案 0 :(得分:1)

因为Stack是Vector的子类,你可以这样做

<E> void addRandom(Stack<E> stack, E e) {
    stack.add((int) (Math.random() * (stack.size() + 1)), e);
}

或制作自定义课程

class RandomStack<E> extends Stack<E> {

    void addRandom(E e) {
        add((int) (Math.random() * (size() + 1)), e);
    }
}