Cómo barajar una ArrayList [duplicar]

Necesito ayuda para escribir un método que barajará ArrayList. No puedo averiguar qué colocar en mi método. Esto es lo que tengo hasta ahora. Intenté usar el método aleatorio para aleatorizar los enteros en la lista, pero eso no funcionó. ¿Puede alguien mostrarme cómo hacer esto?

Aquí está el código que he probado:

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;
  }
}
Respuestas:2 Respuestas 2
Tiempo:hace 9 años, 5 meses
Última modificación:hace 2 años, 10 meses

Solución

Utilice este método y pase la matriz en el parámetro

Collections.shuffle(arrayList);

Este método devuelve void por lo que no le dará una nueva lista pero como sabemos que la matriz se pasa como un tipo de referencia en Java por lo que barajará su matriz y guardará los valores barajados en ella. Es por eso que no necesita ningún tipo de devolución.

Ahora puede usar arraylist que se baraja.

Otras respuestas

Deja un comentario