Clase aleatoria
java.lang.Objeto
java.util.Random
Todas las interfaces implementadas:
Serializable
Subclases conocidas directas:
SecureRandom , ThreadLocalRandom
clase pública Random
extiende Object
implementa Serializable
Una instancia de esta clase se utiliza para generar un flujo de números
pseudoaleatorios. La clase utiliza una semilla de 48 bits, que se modifica mediante
una fórmula congruencial lineal. (Véase Donald Knuth, El arte de la programación
informática, Volumen 2 , Sección 3.2.1).
Si se crean dos instancias de Randomcon la misma semilla y se realiza la misma
secuencia de llamadas a métodos para cada una, generarán y devolverán secuencias de
números idénticas. Para garantizar esta propiedad, se especifican algoritmos
específicos para la clase Random. Las implementaciones de Java deben usar todos los
algoritmos mostrados aquí para la clase Random, con el fin de garantizar la
portabilidad absoluta del código Java. Sin embargo, las subclases de la clase
Random pueden usar otros algoritmos, siempre que cumplan con los contratos
generales para todos los métodos.
Los algoritmos implementados por clase Randomutilizan un protectedmétodo de
utilidad que en cada invocación puede suministrar hasta 32 bits generados de forma
pseudoaleatoria.
Muchas aplicaciones encontrarán que el método Math.random()es más sencillo de
utilizar.
Las instancias de java.util.Randomson seguras para subprocesos. Sin embargo, el uso
simultáneo de la misma java.util.Random instancia en varios subprocesos puede
generar contención y, en consecuencia, un bajo rendimiento. Considere su uso
ThreadLocalRandomen diseños multiproceso.
Las instancias de java.util.Randomno son criptográficamente seguras. Considere usar
SecureRandomun generador de números pseudoaleatorios criptográficamente seguro para
aplicaciones sensibles a la seguridad.
Desde:
1.0
Ver también:
Formulario serializado
Resumen del constructor
Constructores
Constructor Descripción
Random()
Crea un nuevo generador de números aleatorios.
Random(long seed)
Crea un nuevo generador de números aleatorios utilizando una única longsemilla.
Resumen del método
Todos los métodos Métodos de instancia Métodos concretos
Modificador y tipo Método Descripción
DoubleStream doubles()
Devuelve un flujo prácticamente ilimitado de doublevalores pseudoaleatorios, cada
uno entre cero (inclusive) y uno (exclusivo).
DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)
Devuelve un flujo prácticamente ilimitado de doublevalores pseudoaleatorios, cada
uno de los cuales se ajusta al origen (inclusivo) y al límite (exclusivo) dados.
DoubleStream doubles(long streamSize)
Devuelve una secuencia que produce la streamSizecantidad dada de valores
pseudoaleatorios double, cada uno entre cero (inclusivo) y uno (exclusivo).
DoubleStream doubles(long streamSize, double randomNumberOrigin, double
randomNumberBound)
Devuelve una secuencia que produce la streamSizecantidad dada de valores
pseudoaleatorios double, cada uno de los cuales se ajusta al origen (inclusivo) y
al límite (exclusivo) dados.
IntStream ints()
Devuelve un flujo prácticamente ilimitado de int valores pseudoaleatorios.
IntStream ints(int randomNumberOrigin, int randomNumberBound)
Devuelve un flujo prácticamente ilimitado de intvalores pseudoaleatorios, cada uno
de los cuales se ajusta al origen (inclusivo) y al límite (exclusivo) dados.
IntStream ints(long streamSize)
Devuelve una secuencia que produce la cantidad dada de valores
streamSizepseudoaleatorios .int
IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
Devuelve una secuencia que produce la streamSizecantidad dada de valores
pseudoaleatorios int, cada uno de los cuales se ajusta al origen (inclusivo) y al
límite (exclusivo) dados.
LongStream longs()
Devuelve un flujo prácticamente ilimitado de long valores pseudoaleatorios.
LongStream longs(long streamSize)
Devuelve una secuencia que produce la cantidad dada de valores
streamSizepseudoaleatorios .long
LongStream longs(long randomNumberOrigin, long randomNumberBound)
Devuelve un flujo prácticamente ilimitado de longvalores pseudoaleatorios, cada uno
de los cuales se ajusta al origen (inclusivo) y al límite (exclusivo) dados.
LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
Devuelve una secuencia que produce la streamSizecantidad dada de pseudoaleatorios
long, cada uno conforme al origen (inclusivo) y límite (exclusivo) dados.
protected int next(int bits)
Genera el siguiente número pseudoaleatorio.
boolean nextBoolean()
Devuelve el siguiente booleanvalor pseudoaleatorio, distribuido uniformemente, de
la secuencia de este generador de números aleatorios.
void nextBytes(byte[] bytes)
Genera bytes aleatorios y los coloca en una matriz de bytes proporcionada por el
usuario.
double nextDouble()
Devuelve el siguiente doublevalor pseudoaleatorio, distribuido uniformemente entre
0.0y 1.0de la secuencia de este generador de números aleatorios.
float nextFloat()
Devuelve el siguiente float valor pseudoaleatorio, distribuido uniformemente entre
0.0y 1.0de la secuencia de este generador de números aleatorios.
double nextGaussian()
Devuelve el siguiente valor pseudoaleatorio, distribuido gaussianamente
("normalmente") doublecon media 0.0y desviación estándar 1.0de la secuencia de este
generador de números aleatorios.
int nextInt()
Devuelve el siguiente int valor pseudoaleatorio, distribuido uniformemente, de la
secuencia de este generador de números aleatorios.
int nextInt(int bound)
Devuelve un valor pseudoaleatorio, distribuido uniformemente intentre 0 (inclusive)
y el valor especificado (exclusivo), extraído de la secuencia de este generador de
números aleatorios.
long nextLong()
Devuelve el siguiente long valor pseudoaleatorio, distribuido uniformemente, de la
secuencia de este generador de números aleatorios.
void setSeed(long seed)
Establece la semilla de este generador de núme