99 votes

Comment mélanger une ArrayList ?

J'ai besoin d'aide pour écrire une méthode qui mélange les listes de tableaux. Je n'arrive pas à trouver ce que je dois placer dans ma méthode. Voici ce que j'ai fait jusqu'à présent. J'ai essayé d'utiliser la méthode random pour randomiser les entiers de la liste, mais cela n'a pas fonctionné. Quelqu'un peut-il me montrer comment faire ?

Voici le code que j'ai essayé :

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

238voto

murdoch Points 2199

Utilisez cette méthode et passez votre tableau en paramètre

Collections.shuffle(arrayList);

Cette méthode renvoie void, donc elle ne vous donnera pas une nouvelle liste, mais comme nous savons que les tableaux sont passés comme un type de référence en Java, elle mélangera votre tableau et y enregistrera les valeurs mélangées. C'est pourquoi vous n'avez pas besoin d'un type de retour.

Vous pouvez maintenant utiliser arraylist qui est mélangé.

33voto

The New Idiot Points 23130

Essayez Collections.shuffle(list) Si l'utilisation de cette méthode est interdite pour résoudre le problème, on peut alors examiner la mise en œuvre réelle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X