LongDataBuffer

interface pública LongDataBuffer

Um DataBuffer de longos.

Métodos Públicos

LongDataBuffer abstrato
copyTo ( DataBuffer <Long> dst, tamanho longo)
abstrato longo
getLong (índice longo)
Lê o longo no índice fornecido.
abstrato longo
getObject (índice longo)
Lê o valor no índice fornecido.
LongDataBuffer abstrato
estreito (tamanho longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, cujo tamanho é definido para o valor fornecido.
LongDataBuffer abstrato
deslocamento (índice longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, começando no índice fornecido.
LongDataBuffer abstrato
ler (long [] dst)
Método de obtenção em massa, usando matrizes longas.
LongDataBuffer abstrato
read (long [] dst, int offset, int length)
Método de obtenção em massa, usando matrizes longas.
LongDataBuffer abstrato
setLong (valor longo, índice longo)
Grava o long fornecido neste buffer no índice fornecido.
LongDataBuffer abstrato
setObject (valor longo, índice longo)
LongDataBuffer abstrato
fatia (índice longo, tamanho longo)
Cria um novo buffer cujo conteúdo é uma subseqüência compartilhada do conteúdo desse buffer, começando com o índice fornecido e com o tamanho fornecido.
abstrato DataBufferWindow < LongDataBuffer >
janela (tamanho longo)
Cria um DataBufferWindow que fornece uma visão parcial deste buffer.
LongDataBuffer abstrato
escrever (long [] src, deslocamento interno, comprimento interno)
Método Bulk put , usando matrizes longas.
LongDataBuffer abstrato
escrever (long [] src)
Método Bulk put , usando matrizes longas.

Métodos herdados

Métodos Públicos

public abstract LongDataBuffer copyTo ( DataBuffer <Long> dst, tamanho longo)

public abstract long getLong (índice longo)

Lê o longo no índice fornecido.

Parâmetros
índice o índice a partir do qual o float será lido
Devoluções
  • o longo no índice dado
Lança
IndexOutOfBoundsException se o índice é negativo ou não menor que o tamanho do buffer

public abstract Long getObject (índice longo)

Lê o valor no índice fornecido. Importante: o uso deste método deve ser limitado a buffers de tipos não primitivos ou quando o tipo de dados não é deterministicamente conhecido pelo responsável pela chamada. Em qualquer outro caso, prefira o uso de sua variante primitiva que irá melhorar significativamente o desempenho (por exemplo, IntDataBuffer.getInt(idx)

Parâmetros
índice o índice a partir do qual o float será lido
Devoluções
  • o valor no índice fornecido

public abstract LongDataBuffer estreito (tamanho longo)

Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, cujo tamanho é definido para o valor fornecido.

O novo tamanho não deve ser maior que o tamanho do buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, este buffer for somente leitura.

Esta chamada é equivalente a slice(0, size)

Parâmetros
Tamanho tamanho deste novo buffer
Devoluções
  • o novo buffer

deslocamento LongDataBuffer abstrato público (índice longo)

Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, começando no índice fornecido.

O índice não deve ser maior que o tamanho do buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, este buffer for somente leitura.

Esta chamada é equivalente a slice(index, size() - index)

Parâmetros
índice índice do primeiro valor do novo buffer criado, não deve ser maior que size()
Devoluções
  • o novo buffer

leitura LongDataBuffer abstrata pública (long [] dst)

Método de obtenção em massa, usando matrizes longas.

Este método transfere valores desse buffer para a matriz de destino fornecida. Se houver menos valores no buffer do que o necessário para satisfazer a solicitação, ou seja, se dst.length > size() , nenhum valor será transferido e um BufferUnderflowException será lançado.

Caso contrário, este método copia os valores n = dst.length desse buffer para a matriz fornecida.

Parâmetros
DST a matriz na qual os valores devem ser escritos
Devoluções
  • este buffer
Lança
BufferUnderflowException se não houver valores suficientes para copiar deste buffer

leitura LongDataBuffer abstrata pública (long [] dst, deslocamento interno, comprimento interno)

Método de obtenção em massa, usando matrizes longas.

Este método transfere valores desse buffer para a matriz de destino fornecida. Se houver menos valores no buffer do que o necessário para satisfazer a solicitação, ou seja, se length > size() , nenhum valor será transferido e uma BufferUnderflowException será lançada.

Caso contrário, este método copia n = length valores de n = length deste buffer para o array fornecido, começando no deslocamento fornecido.

Parâmetros
DST a matriz na qual os valores devem ser escritos
Deslocamento o deslocamento dentro da matriz do primeiro valor a ser escrito; deve ser não negativo e não maior que dst.length
comprimento o número máximo de valores a serem gravados na matriz fornecida; deve ser não negativo e não maior que dst.length - offset
Devoluções
  • este buffer
Lança
BufferUnderflowException se houver menos do que os valores de comprimento restantes neste buffer
IndexOutOfBoundsException se as pré-condições nos parâmetros de deslocamento e comprimento não forem válidas

public abstract LongDataBuffer setLong (valor longo, índice longo)

Grava o long fornecido neste buffer no índice fornecido.

Parâmetros
valor o longo para ser escrito
índice o índice em que o valor será escrito
Devoluções
  • este buffer
Lança
IndexOutOfBoundsException se o índice é negativo ou não menor que o tamanho do buffer
ReadOnlyBufferException se este buffer for somente leitura

public abstract LongDataBuffer setObject (valor longo, índice longo)

Fatia LongDataBuffer abstrata pública (índice longo, tamanho longo)

Cria um novo buffer cujo conteúdo é uma subseqüência compartilhada do conteúdo desse buffer, começando com o índice fornecido e com o tamanho fornecido.

O índice mais o novo tamanho não deve ser maior que o tamanho do buffer. Mudanças no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, este buffer for somente leitura.

Parâmetros
índice índice do primeiro valor do novo buffer criado
Tamanho tamanho deste novo buffer, não deve ser maior que size()
Devoluções
  • o novo buffer

janela public abstract DataBufferWindow < LongDataBuffer > (tamanho longo)

Cria um DataBufferWindow que fornece uma visão parcial deste buffer.

A janela criada tem um tamanho fixo e pode "slide" ao longo desse buffer para fornecer diferentes visualizações dos dados sem alocar uma nova instância de buffer, como o offset(long) faz. Isso melhora o desempenho geral quando esta operação é repetida com frequência. Por exemplo:

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;
     
 }
 }

O objeto retornado tem estado e não é seguro para thread.

Parâmetros
Tamanho tamanho da janela
Devoluções
  • uma nova janela que começa no índice 0 deste buffer

escrita LongDataBuffer abstrata pública (long [] src, deslocamento interno, comprimento interno)

Método Bulk put , usando matrizes longas.

Este método transfere os valores da matriz de origem fornecida para este buffer. Se houver mais valores na matriz de origem do que neste buffer, ou seja, se length > size() , nenhum valor será transferido e uma BufferOverflowException será lançada.

Caso contrário, este método copia n = length valores de n = length da matriz fornecida para este buffer, começando no deslocamento fornecido.

Parâmetros
src a matriz de origem da qual os valores devem ser lidos
Deslocamento o deslocamento dentro da matriz do primeiro valor a ser lido; deve ser não negativo e não maior que src.length
comprimento o número de valores a serem lidos na matriz fornecida; deve ser não negativo e não maior que src.length - offset
Devoluções
  • este buffer
Lança
BufferOverflowException se houver espaço insuficiente neste buffer para os valores na matriz de origem
IndexOutOfBoundsException se as pré-condições nos parâmetros de deslocamento e comprimento não forem válidas
ReadOnlyBufferException se este buffer for somente leitura

escrever longDataBuffer abstrato público (long [] src)

Método Bulk put , usando matrizes longas.

Este método transfere os valores da matriz de origem fornecida para este buffer. Se houver mais valores na matriz de origem do que neste buffer, ou seja, se src.length > size() , nenhum valor será transferido e um BufferOverflowException será lançado.

Caso contrário, este método copia os valores n = src.length da matriz fornecida.

Parâmetros
src a matriz de origem da qual os valores devem ser lidos
Devoluções
  • este buffer
Lança
BufferOverflowException se houver espaço insuficiente neste buffer para os valores na matriz de origem
ReadOnlyBufferException se este buffer for somente leitura