Un DataBuffer di doppi.
Metodi pubblici
| astratto DoubleDataBuffer | copyTo ( DataBuffer <Double> dst, dimensione lunga) |
| doppio astratto | getDouble (indice lungo) Legge il double in corrispondenza dell'indice specificato. |
| Doppio astratto | getObject (indice lungo) Legge il valore dell'indice specificato. |
| astratto DoubleDataBuffer | stretto (taglia lunga) Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, la cui dimensione è impostata sul valore specificato. |
| astratto DoubleDataBuffer | offset (indice lungo) Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice specificato. |
| astratto DoubleDataBuffer | leggi (double[] dst) Metodo di acquisizione in blocco, utilizzando doppi array. |
| astratto DoubleDataBuffer | leggi (double[] dst, int offset, int lunghezza) Metodo di acquisizione in blocco, utilizzando doppi array. |
| astratto DoubleDataBuffer | setDouble (valore doppio, indice lungo) Scrive il double specificato in questo buffer in corrispondenza dell'indice specificato. |
| astratto DoubleDataBuffer | setObject (doppio valore, indice lungo) |
| astratto DoubleDataBuffer | slice (indice lungo, dimensione lunga) Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice e dalla dimensione specificati. |
| abstract DataBufferWindow < DoubleDataBuffer > | finestra (formato lungo) Crea un DataBufferWindow che fornisce una visualizzazione parziale di questo buffer. |
| astratto DoubleDataBuffer | scrivi (double[] src) Metodo di messa in blocco, utilizzando doppi array. |
| astratto DoubleDataBuffer | scrivi (double[] src, int offset, int length) Metodo di messa in blocco, utilizzando doppi array. |
Metodi ereditati
Metodi pubblici
public abstract double getDouble (indice lungo)
Legge il double in corrispondenza dell'indice specificato.
Parametri
| indice | l'indice da cui verrà letto il float |
|---|
Ritorni
- il doppio dell'indice dato
Lancia
| IndexOutOfBoundsException | se l'indice è negativo o non inferiore alla dimensione del buffer |
|---|
public abstract Double getObject (indice lungo)
Legge il valore dell'indice specificato. Importante: l'utilizzo di questo metodo deve essere limitato ai buffer di tipi non primitivi o quando il tipo di dati non è conosciuto in modo deterministico dal chiamante. In ogni altro caso, preferisci l'utilizzo della sua variante primitiva che migliorerà significativamente le prestazioni (ad esempio IntDataBuffer.getInt(idx)
Parametri
| indice | l'indice da cui verrà letto il float |
|---|
Ritorni
- il valore dell'indice dato
public abstract DoubleDataBuffer stretto (dimensione lunga)
Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, la cui dimensione è impostata sul valore specificato.
La nuova dimensione non deve essere maggiore della dimensione del buffer. Le modifiche al contenuto di questo buffer saranno visibili nel nuovo buffer e viceversa. Il nuovo buffer sarà di sola lettura se, e solo se, questo buffer è di sola lettura.
Questa chiamata è equivalente a slice(0, size)
Parametri
| misurare | dimensione di questo nuovo buffer |
|---|
Ritorni
- il nuovo tampone
offset pubblico astratto DoubleDataBuffer (indice lungo)
Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice specificato.
L'indice non deve essere maggiore della dimensione del buffer. Le modifiche al contenuto di questo buffer saranno visibili nel nuovo buffer e viceversa. Il nuovo buffer sarà di sola lettura se, e solo se, questo buffer è di sola lettura.
Questa chiamata è equivalente a slice(index, size() - index)
Parametri
| indice | indice del primo valore del nuovo buffer creato, non deve essere maggiore di size() |
|---|
Ritorni
- il nuovo tampone
lettura astratta pubblica DoubleDataBuffer (double[] dst)
Metodo di acquisizione in blocco, utilizzando doppi array.
Questo metodo trasferisce i valori da questo buffer nell'array di destinazione specificato. Se nel buffer sono presenti meno valori di quelli necessari per soddisfare la richiesta, ovvero se dst.length > size() , non viene trasferito alcun valore e viene generata un'eccezione BufferUnderflowException.
Altrimenti, questo metodo copia i valori n = dst.length da questo buffer nell'array specificato.
Parametri
| dst | l'array in cui devono essere scritti i valori |
|---|
Ritorni
- questo buffer
Lancia
| BufferUnderflowException | se non ci sono abbastanza valori da copiare da questo buffer |
|---|
public abstract DoubleDataBuffer lettura (double[] dst, int offset, int length)
Metodo di acquisizione in blocco, utilizzando doppi array.
Questo metodo trasferisce i valori da questo buffer nell'array di destinazione specificato. Se nel buffer sono presenti meno valori di quelli necessari per soddisfare la richiesta, ovvero se length > size() , non viene trasferito alcun valore e viene generata un'eccezione BufferUnderflowException.
Altrimenti, questo metodo copia n = length da questo buffer nell'array specificato a partire dall'offset specificato.
Parametri
| dst | l'array in cui devono essere scritti i valori |
|---|---|
| offset | l'offset all'interno dell'array del primo valore da scrivere; deve essere non negativo e non maggiore di dst.length |
| lunghezza | il numero massimo di valori da scrivere nell'array specificato; deve essere non negativo e non maggiore di dst.length - offset |
Ritorni
- questo buffer
Lancia
| BufferUnderflowException | se in questo buffer rimangono meno valori di lunghezza |
|---|---|
| IndexOutOfBoundsException | se le precondizioni sui parametri offset e lunghezza non valgono |
public abstract DoubleDataBuffer setDouble (doppio valore, indice lungo)
Scrive il double specificato in questo buffer in corrispondenza dell'indice specificato.
Parametri
| valore | il doppio da scrivere |
|---|---|
| indice | l'indice in cui verrà scritto il valore |
Ritorni
- questo buffer
Lancia
| IndexOutOfBoundsException | se l'indice è negativo o non inferiore alla dimensione del buffer |
|---|---|
| ReadOnlyBufferException | se questo buffer è di sola lettura |
Sezione DoubleDataBuffer astratta pubblica (indice lungo, dimensione lunga)
Crea un nuovo buffer il cui contenuto è una sottosequenza condivisa del contenuto di questo buffer, a partire dall'indice e dalla dimensione specificati.
L'indice più la nuova dimensione non devono essere maggiori della dimensione del buffer. Le modifiche al contenuto di questo buffer saranno visibili nel nuovo buffer e viceversa. Il nuovo buffer sarà di sola lettura se, e solo se, questo buffer è di sola lettura.
Parametri
| indice | indice del primo valore del nuovo buffer creato |
|---|---|
| misurare | la dimensione di questo nuovo buffer non deve essere maggiore di size() |
Ritorni
- il nuovo tampone
public abstract DataBufferWindow < DoubleDataBuffer > finestra (dimensione lunga)
Crea un DataBufferWindow che fornisce una visualizzazione parziale di questo buffer.
La finestra creata ha una dimensione fissa e può "slide" lungo questo buffer per fornire diverse visualizzazioni dei dati senza allocare una nuova istanza del buffer, come fa offset(long) . Ciò migliora le prestazioni generali quando questa operazione viene ripetuta frequentemente. Per esempio:
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;
}
}L'oggetto restituito è con stato e non è thread-safe.
Parametri
| misurare | dimensione della finestra |
|---|
Ritorni
- una nuova finestra che inizia dall'indice 0 di questo buffer
scrittura astratta pubblica DoubleDataBuffer (double[] src)
Metodo di messa in blocco, utilizzando doppi array.
Questo metodo trasferisce i valori nell'array di origine specificato in questo buffer. Se sono presenti più valori nell'array di origine che in questo buffer, ovvero se src.length > size() , non viene trasferito alcun valore e viene generata un'eccezione BufferOverflowException.
Altrimenti, questo metodo copia i valori n = src.length dall'array specificato.
Parametri
| src | l'array di origine da cui leggere i valori |
|---|
Ritorni
- questo buffer
Lancia
| BufferOverflowException | se lo spazio in questo buffer non è sufficiente per i valori nell'array di origine |
|---|---|
| ReadOnlyBufferException | se questo buffer è di sola lettura |
scrittura DoubleDataBuffer astratta pubblica (double[] src, int offset, int length)
Metodo di messa in blocco, utilizzando doppi array.
Questo metodo trasferisce i valori nell'array di origine specificato in questo buffer. Se sono presenti più valori nell'array di origine che in questo buffer, ovvero se length > size() , non viene trasferito alcun valore e viene generata un'eccezione BufferOverflowException.
Altrimenti, questo metodo copia n = length dall'array specificato in questo buffer, a partire dall'offset specificato.
Parametri
| src | l'array di origine da cui leggere i valori |
|---|---|
| offset | l'offset all'interno dell'array del primo valore da leggere; deve essere non negativo e non maggiore di src.length |
| lunghezza | il numero di valori da leggere dall'array specificato; deve essere non negativo e non maggiore di src.length - offset |
Ritorni
- questo buffer
Lancia
| BufferOverflowException | se lo spazio in questo buffer non è sufficiente per i valori nell'array di origine |
|---|---|
| IndexOutOfBoundsException | se le precondizioni sui parametri offset e lunghezza non valgono |
| ReadOnlyBufferException | se questo buffer è di sola lettura |