java - 从 Vector java 读取随机对象

标签 java vector

嗨,我正在编写一个java程序,其中我需要随机读取添加到Vector中的对象,并且不应该重复。实际上我想通过 Math.random() * Vector.size() 获得一个随机数并且不重复,将随机数保留在数组或其他东西中以便下次不再读取它但猜测必须有一个方法或为此目的的东西...... 我将感谢您的任何回复

最佳答案

您可以生成一个从 1 直到 vector 大小的序列,对其进行打乱,然后使用这些值从 vector 中读取元素:

Vector v;
List<Integer> values = new ArrayList<>();
for (int i=0; i < v.size(); ++i) {
    values.add(i);
}
Collections.shuffle(values);

// now read the value in the vector using this random sequence
for (int i=0; i < values.size(); ++i) {
    System.out.println(vector.get(values.get(i)));
}

关于java - 从 Vector java 读取随机对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43188981/

相关文章:

java - 在 Activity 之间同步数组中的数据

桌面应用程序中的 JavaBeans 验证

c++ - vector 中嵌套 vector 的分段故障核心转储

actionscript-3 - Actionscript 3.0 子类化矢量类的最佳选择 (Flash Player 10)

Java程序占用太多内存

java - 如何使用xuggler同步音频和视频

java - 带 Break 的无法到达语句

C++ 模板集合类型

c++ - 如果没有插入而只有 .find(),在多线程上使用 C++ STL 容器是否安全?

c++ - lower_bound(v.begin(), v.end(), x)