Foros del Web » Programación para mayores de 30 ;) » Java »

Ordenar una arraylist al azar

Estas en el tema de Ordenar una arraylist al azar en el foro de Java en Foros del Web. Saludos, quisiera saber si alguien sabe como reordenar una arraylist al azar y sin que se repitan elementos. Como yo lo tengo es: Código: ArrayList ...
  #1 (permalink)  
Antiguo 20/05/2010, 11:46
 
Fecha de Ingreso: junio-2007
Mensajes: 56
Antigüedad: 17 años, 5 meses
Puntos: 0
Pregunta Ordenar una arraylist al azar

Saludos, quisiera saber si alguien sabe como reordenar una arraylist al azar y sin que se repitan elementos. Como yo lo tengo es:
Código:
             ArrayList reactivosR = new ArrayList();
             reactivosR.add("r1");
             reactivosR.add("r4");
             reactivosR.add("r3");
             reactivosR.add("r4");
             reactivosR.add("r5");
             reactivosR.add("r1");
             reactivosR.add("r2");
             reactivosR.add("r3");
             reactivosR.add("r4");
             reactivosR.add("r5");
             Random rndm = new Random();
             rndm.setSeed(1000);
             Collections.shuffle(reactivosR, rndm);
             for(int i=1; i<10; i++) {
                 System.out.println("Reactivo ya randomizado: " + reactivosR.get(i));
             }
Si me los randomiza, el problema es que o faltan elementos o sobran y nunca cambian el orden de los elementos a menos que cambie la semilla. Alguien sabe como le puedo hacer para que cada vez que corra no me muestre siempre:
Reactivo ya randomizado: r5
Reactivo ya randomizado: r3
Reactivo ya randomizado: r4
Reactivo ya randomizado: r3
Reactivo ya randomizado: r3
Reactivo ya randomizado: r4
Reactivo ya randomizado: r5
Reactivo ya randomizado: r2
Reactivo ya randomizado: r2
  #2 (permalink)  
Antiguo 20/05/2010, 12:22
 
Fecha de Ingreso: junio-2007
Mensajes: 56
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Ordenar una arraylist al azar

Ok, ya lo resolví quitando la línea: rndm.setSeed(1000);

Etiquetas: arraylist
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:03.