gpt4 book ai didi

java - 如何洗牌一个ArrayList

转载 作者:IT老高 更新时间:2023-10-28 11:45:15 27 4
gpt4 key购买 nike

我需要一些帮助来编写一个随机排列 ArrayList 的方法。我不知道在我的方法中放置什么。这是我到目前为止所拥有的。我尝试使用随机方法来随机化列表中的整数,但没有奏效。有人可以告诉我怎么做吗?

这是我尝试过的代码:

import java.util.ArrayList;
import java.util.Scanner;

public class Lab 11 {
public static void main(String[] args) {
ArrayList<Double> list = new ArrayList<Double>();

Scanner input = new Scanner(System.in);
System.out.print("Enter integers (input ends with 0): ");
double value;

do {
value = input.nextDouble(); // Read a value from the input

if (value != 0)
list.add(value); // Add the value if it is not in the list
} while (value != 0);
System.out.println("The maximum number is " + max(list));

System.out.print("Enter five double values: ");
for (int i = 0; i < 5; i++)
list.add(input.nextDouble());

System.out.println("The sum is " + sum(list));

}

public static Double max(ArrayList<Double> list) {
if (list == null || list.size() == 0)
return null;

double result = list.get(0);
for (int i = 1; i < list.size(); i++)
if (result < list.get(i))
result = list.get(i);

return result;
}

public static double sum(ArrayList<Double> list) {
double sum = 0;
for (int i = 0; i < list.size(); i++)
sum += list.get(i);
return sum;
}
}

最佳答案

使用此方法并在参数中传递您的数组

Collections.shuffle(arrayList);

这个方法返回 void,所以它不会给你一个新的列表,但是我们知道数组在 Java 中是作为引用类型传递的,所以它会打乱你的数组并在其中保存打乱的值。这就是您不需要任何返回类型的原因。

您现在可以使用洗牌的arraylist。

关于java - 如何洗牌一个ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112515/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com