2011-06-08 13 views
20

Tengo una lista de enteros (actualmente usando cern.colt.list.IntArrayList). Puedo llamar "shuffle()" y aleatoriamente mezclarlos. Me gustaría poder reproducir un shuffle. Puedo reproducir una serie de números aleatorios al establecer una semilla. No parece ser capaz de establecer una semilla en este caso. ¿Que debería hacer? Estoy abierto a otras implementaciones.Establecer una semilla para mezclar ArrayList en Java deterministicamente

+0

¿Qué quiere decir por "No parece poder establecer una semilla en este caso". ¿Escribió algún código y no obtuvo los resultados que esperaba? ¿Qué hay de publicar el código? –

+0

Posiblemente porque es viejo, la implementación potro tiene una segunda implementación aleatoria (donde puede establecer una semilla). Parece que necesito alejarme de eso. –

+0

Quiere decir que la implementación potro _no_ tiene un argumento opcional aleatorio. –

Respuesta

4

Puede especificar la instancia Aleatoria con un valor de inicialización usando public static void shuffle(List list, Random rnd). Para el constructor Random(long seed) puede especificar una semilla.

a partir de documentos de Java:

aleatoriamente permutan la lista especificada utilizando la fuente especificada de aleatoriedad. Todas las permutaciones ocurren con la misma probabilidad asumiendo que la fuente de aleatoriedad es justa.

Cuestiones relacionadas