如何打乱一个 ArrayList [英] How to shuffle an ArrayList

查看:24
本文介绍了如何打乱一个 ArrayList的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I need some help in writing a method that will shuffle the ArrayList. I can't figure out what to place in my method. Here is what I have so far. I tried using the random method to randomize the integers in the list but that didn't work. Can someone show me how to do this?

这是我试过的代码:

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;
  }
}

推荐答案

使用这个方法并在参数中传递你的数组

Use this method and pass your array in parameter

Collections.shuffle(arrayList);

此方法返回 void,因此它不会为您提供新列表,但我们知道数组在 Java 中作为引用类型传递,因此它会打乱您的数组并将打乱后的值保存在其中.这就是为什么您不需要任何返回类型.

This method return void so it will not give you a new list but as we know that array is passed as a reference type in Java so it will shuffle your array and save shuffled values in it. That's why you don't need any return type.

您现在可以使用经过混洗的 arraylist.

You can now use arraylist which is shuffled.

这篇关于如何打乱一个 ArrayList的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆