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
20
A
Respuesta
39
Esto es posible utilizando el método aleatorio que le permite proporcionar la instancia respaldo Random
: Collections.shuffle(List<?> list, Random rnd)
:
Ejemplo:
Collections.shuffle(yourList, new Random(somePredefinedSeed));
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.
3
Cuestiones relacionadas
- 1. Establecer semilla en Math.random()
- 2. Establecer semilla aleatoria temporalmente, como "new Random()"
- 3. SecureRandom semilla segura en Java
- 4. ¿Cómo puedo cortar una ArrayList de una ArrayList en Java?
- 5. Java Números aleatorios usando una semilla
- 6. establecer directamente los valores de un ArrayList en Java
- 7. búsqueda en java ArrayList
- 8. Java: ordenar una ArrayList en su lugar
- 9. ArrayList en Java y entrada
- 10. Complejidad del tiempo para java ArrayList
- 11. ¿Existen clases eficaces ArrayList 2D para Java?
- 12. Java: ¿Filtrado Eficiente ArrayList?
- 13. Java convertir ArrayList en cadena y volver a ArrayList?
- 14. JAVA - CSV de importación para que arrayList
- 15. Java - copiar objetos ArrayList
- 16. Java ArrayList of Arrays?
- 17. Uso del comparador para ordenar ArrayList Java
- 18. Java ArrayList Index
- 19. Java Modcount (ArrayList)
- 20. ¿Cómo mezclar dos matrices en Java?
- 21. Código EF Primero: cómo establecer la identidad de la semilla?
- 22. ¿Cuándo es preferible una ArrayList a una matriz en Java?
- 23. Asignación de una matriz a una ArrayList en Java
- 24. serialización de Java ArrayList
- 25. C# equivalente para el arraylist java que admite obtener, establecer y eliminar cierto índice
- 26. Mezclar una lista en Mathematica
- 27. ¿Cómo obtengo la semilla de un Random en Java?
- 28. ¿Cómo hacer una copia de seguridad de ArrayList en Java?
- 29. Oracle mezclar constantes en una sola mesa
- 30. Java: ArrayList de Cuerda en matrices
¿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? –
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. –
Quiere decir que la implementación potro _no_ tiene un argumento opcional aleatorio. –