Coix aléatoire d'une liste
jj1k
Messages postés
32
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour
j'ai 3 listes que je veux à chaque fois choisir une aléatoirement parmi les 3.
listT1 = (ArrayList)Arrays.asList(tablev1);
listT2 = (ArrayList)Arrays.asList(tablev2);
listT3 = (ArrayList)Arrays.asList(tablev3);
Comment je pux faire le coix aléatoire ?
Merci
j'ai 3 listes que je veux à chaque fois choisir une aléatoirement parmi les 3.
listT1 = (ArrayList)Arrays.asList(tablev1);
listT2 = (ArrayList)Arrays.asList(tablev2);
listT3 = (ArrayList)Arrays.asList(tablev3);
Comment je pux faire le coix aléatoire ?
Merci
4 réponses
-
Genere un nombre aleatoire entre 1 et 3 et selectionne la liste correspondante avec un switch case
Aider est mon nindo -
c'est pas ça exactement mon but
je veux faire un tirage au sort de deux liste parmi ces 3 listes mais je veux quelque chose génerale parce que le nombre de liste peut augmenter d'un cas à un autre. -
Bonsoir,
tu mets tes listes dans une listes de listes ou un tableau de listes.
Un premier random te donne la liste, et un second l'élément, à répéter 2 fois.
-
Bonjour,
Voici un exemple générique :
private static final Random RANDOM = new Random(); public static int randomInt(int minInclusive, int maxExclusive) { return RANDOM.nextInt(maxExclusive - minInclusive) + minInclusive; } public static List<Integer> randomIndex(int minInclusive, int maxExclusive, int sizeResult) { Set<Integer> result = new LinkedHashSet<>(); while (result.size() != sizeResult) result.add(randomInt(minInclusive, maxExclusive)); return new ArrayList<>(result); } public static <E> List<E> randomList(List<E> coll, int sizeResult) { List<E> result = new ArrayList<>(sizeResult); for (Integer n : randomIndex(0, coll.size(), sizeResult)) result.add(coll.get(n)); return result; }
Exemple :
public static void main(String[] args) throws Exception { List<String> list = Arrays.asList("listT1", "listT2", "listT3"); for (int n = 0; n <= list.size(); n++) System.out.println(n + "\t" + randomList(list, n)); }
Ce qui pourrait donner, selon les valeurs aléatoires choisies :0 []
1 [listT3]
2 [listT2, listT1]
3 [listT1, listT3, listT2]