第一种方式: –
您还可以维护所有数字的列表.然后使用Collections.shuffle对列表进行洗牌并获取第一个元素.并删除它.
List list = new ArrayList();
list.add(1);
list.add(4);
list.add(2);
list.add(3);
System.out.println("Original List: " + list);
Collections.shuffle(list);
System.out.println("Shuffled List: " + list);
int number1 = list.remove(0); // Remove the first value
System.out.println("Number removed: " + number1);
Collections.shuffle(list);
System.out.println("Shuffled List: " + list);
number1 = list.remove(0);
System.out.println("Number removed: " + number1);
输出: –
Original List: [1, 4, 2, 3]
Shuffled List: [4, 3, 1, 2]
Number removed: 4
Shuffled List: [1, 3, 2]
Number removed: 1
第二种方式: –
更好的方法是生成从0到列表大小的随机数,并获取该索引的值并将其删除.
int size = list.size();
Random random = new Random();
for (int i = 0; i < size; i++) {
int index = random.nextInt(list.size());
int number1 = list.remove(index);
System.out.println(number1);
}
注意: –如果要从生成中排除一组固定的数字,则可以在列表中包含这些数字.然后从您的数字列表中删除该列表的所有元素.然后使用上述任何方法.