Un DataBuffer
de dobles.
Métodos públicos
Resumen DoubleDataBuffer | copyTo ( DataBuffer <Double> dst, tamaño largo) |
doble abstracto | getDouble (índice largo) Lee el doble en el índice dado. |
abstracto doble | getObject (índice largo) Lee el valor en el índice dado. |
Resumen DoubleDataBuffer | estrecho (tamaño largo) Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, cuyo tamaño se establece en el valor dado. |
Resumen DoubleDataBuffer | compensación (índice largo) Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado. |
Resumen DoubleDataBuffer | leer (doble[] horario) Método de obtención masiva, utilizando matrices dobles. |
Resumen DoubleDataBuffer | leer (doble[] dst, int desplazamiento, int longitud) Método de obtención masiva, utilizando matrices dobles. |
Resumen DoubleDataBuffer | setDouble (valor doble, índice largo) Escribe el doble dado en este búfer en el índice dado. |
Resumen DoubleDataBuffer | setObject (valor doble, índice largo) |
Resumen DoubleDataBuffer | rebanada (índice largo, tamaño largo) Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado y del tamaño dado. |
resumen DataBufferWindow <DoubleDataBuffer> | ventana (tamaño largo) Crea una DataBufferWindow que proporciona una vista parcial de este búfer. |
Resumen DoubleDataBuffer | escribir (doble[] origen) Método de venta masiva, utilizando matrices dobles. |
Resumen DoubleDataBuffer | escribir (doble[] origen, int desplazamiento, int longitud) Método de venta masiva, utilizando matrices dobles. |
Métodos heredados
Métodos públicos
resumen público doble getDouble (índice largo)
Lee el doble en el índice dado.
Parámetros
índice | el índice desde el cual se leerá el flotante |
---|
Devoluciones
- el doble en el índice dado
Lanza
Excepción IndexOutOfBounds | si el índice es negativo o no es menor que el tamaño del búfer |
---|
resumen público Doble getObject (índice largo)
Lee el valor en el índice dado. Importante: El uso de este método debe limitarse a buffers de tipos no primitivos o cuando el autor de la llamada no conoce de manera determinista el tipo de datos. En cualquier otro caso, prefiera el uso de su variante primitiva que mejorará significativamente el rendimiento (por ejemplo, IntDataBuffer.getInt(idx)
Parámetros
índice | el índice desde el cual se leerá el flotante |
---|
Devoluciones
- el valor en el índice dado
resumen público DoubleDataBuffer estrecho (tamaño largo)
Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, cuyo tamaño se establece en el valor dado.
El nuevo tamaño no debe ser mayor que este tamaño de búfer. Los cambios en el contenido de este búfer serán visibles en el nuevo búfer y viceversa. El nuevo búfer será de sólo lectura si, y sólo si, este búfer es de sólo lectura.
Esta llamada es equivalente a slice(0, size)
Parámetros
tamaño | tamaño de este nuevo buffer |
---|
Devoluciones
- el nuevo buffer
Desplazamiento de DoubleDataBuffer abstracto público (índice largo)
Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado.
El índice no debe ser mayor que este tamaño de búfer. Los cambios en el contenido de este búfer serán visibles en el nuevo búfer y viceversa. El nuevo búfer será de sólo lectura si, y sólo si, este búfer es de sólo lectura.
Esta llamada es equivalente a slice(index, size() - index)
Parámetros
índice | El índice del primer valor del nuevo buffer creado no debe ser mayor que size() |
---|
Devoluciones
- el nuevo buffer
lectura pública abstracta de DoubleDataBuffer (doble [] dst)
Método de obtención masiva, utilizando matrices dobles.
Este método transfiere valores de este búfer a la matriz de destino dada. Si hay menos valores en el búfer de los necesarios para satisfacer la solicitud, es decir, si dst.length > size()
, no se transfiere ningún valor y se genera una BufferUnderflowException.
De lo contrario, este método copia los valores n = dst.length
de este búfer en la matriz dada.
Parámetros
horario de verano | la matriz en la que se escribirán los valores |
---|
Devoluciones
- este buffer
Lanza
Excepción de flujo de búfer | si no hay suficientes valores para copiar desde este buffer |
---|
lectura pública abstracta de DoubleDataBuffer (doble [] dst, int offset, int length)
Método de obtención masiva, utilizando matrices dobles.
Este método transfiere valores de este búfer a la matriz de destino dada. Si hay menos valores en el búfer de los necesarios para satisfacer la solicitud, es decir, si length > size()
, no se transfiere ningún valor y se genera una BufferUnderflowException.
De lo contrario, este método copia n = length
de este búfer en la matriz dada comenzando en el desplazamiento dado.
Parámetros
horario de verano | la matriz en la que se escribirán los valores |
---|---|
compensar | el desplazamiento dentro de la matriz del primer valor que se escribirá; debe ser no negativo y no mayor que dst.length |
longitud | el número máximo de valores que se escribirán en la matriz dada; debe ser no negativo y no mayor que dst.length - offset |
Devoluciones
- este buffer
Lanza
Excepción de flujo de búfer | si quedan menos valores de longitud en este búfer |
---|---|
Excepción IndexOutOfBounds | si las condiciones previas de los parámetros de desplazamiento y longitud no se cumplen |
resumen público DoubleDataBuffer setDouble (valor doble, índice largo)
Escribe el doble dado en este búfer en el índice dado.
Parámetros
valor | el doble por escribir |
---|---|
índice | el índice en el que se escribirá el valor |
Devoluciones
- este buffer
Lanza
Excepción IndexOutOfBounds | si el índice es negativo o no es menor que el tamaño del búfer |
---|---|
Excepción de sólo lectura de buffer | si este buffer es de solo lectura |
segmento público abstracto DoubleDataBuffer (índice largo, tamaño largo)
Crea un nuevo búfer cuyo contenido es una subsecuencia compartida del contenido de este búfer, comenzando en el índice dado y del tamaño dado.
El índice más el nuevo tamaño no debe ser mayor que este tamaño de búfer. Los cambios en el contenido de este búfer serán visibles en el nuevo búfer y viceversa. El nuevo búfer será de sólo lectura si, y sólo si, este búfer es de sólo lectura.
Parámetros
índice | índice del primer valor del nuevo buffer creado |
---|---|
tamaño | El tamaño de este nuevo búfer no debe ser mayor que size() |
Devoluciones
- el nuevo buffer
ventana pública abstracta DataBufferWindow <DoubleDataBuffer> (tamaño largo)
Crea una DataBufferWindow
que proporciona una vista parcial de este búfer.
La ventana creada tiene un tamaño fijo y puede "slide"
a lo largo de este búfer para proporcionar diferentes vistas de los datos sin asignar una nueva instancia de búfer, como lo hace offset(long)
. Esto mejora el rendimiento general cuando esta operación se repite con frecuencia. Por ejemplo:
IntDataBuffer bufferA = DataBuffers.ofInts(1024);
// ... init buffer data
IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);
// Return the index of the first occurrence of bufferB in bufferA using a sliding window
DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
if (windowA.slideTo(i).buffer().equals(bufferB)) {
return i;
}
}
El objeto devuelto tiene estado y no es seguro para subprocesos.
Parámetros
tamaño | tamaño de la ventana |
---|
Devoluciones
- una nueva ventana que comienza en el índice 0 de este buffer
escritura pública abstracta de DoubleDataBuffer (doble [] src)
Método de venta masiva, utilizando matrices dobles.
Este método transfiere los valores de la matriz fuente dada a este búfer. Si hay más valores en la matriz de origen que en este búfer, es decir, si src.length > size()
, no se transfieren valores y se genera una BufferOverflowException.
De lo contrario, este método copia los valores n = src.length
de la matriz dada.
Parámetros
src | la matriz de origen desde la cual se leerán los valores |
---|
Devoluciones
- este buffer
Lanza
Excepción de desbordamiento de búfer | si no hay suficiente espacio en este búfer para los valores en la matriz de origen |
---|---|
Excepción de sólo lectura de buffer | si este buffer es de solo lectura |
Escritura pública abstracta de DoubleDataBuffer (doble [] src, int offset, int length)
Método de venta masiva, utilizando matrices dobles.
Este método transfiere los valores de la matriz fuente dada a este búfer. Si hay más valores en la matriz de origen que en este búfer, es decir, si length > size()
, no se transfieren valores y se genera una BufferOverflowException.
De lo contrario, este método copia n = length
de la matriz dada en este búfer, comenzando en el desplazamiento dado.
Parámetros
src | la matriz de origen desde la cual se leerán los valores |
---|---|
compensar | el desplazamiento dentro de la matriz del primer valor a leer; debe ser no negativo y no mayor que src.length |
longitud | el número de valores que se leerán de la matriz dada; debe ser no negativo y no mayor que src.length - offset |
Devoluciones
- este buffer
Lanza
Excepción de desbordamiento de búfer | si no hay suficiente espacio en este búfer para los valores en la matriz de origen |
---|---|
Excepción IndexOutOfBounds | si las condiciones previas de los parámetros de desplazamiento y longitud no se cumplen |
Excepción de sólo lectura de buffer | si este buffer es de solo lectura |