DataBuffer
bajtów.
Metody publiczne
streszczenie BooleanDataBuffer | asBooleans () Zwróć ten bufor bajtów jako bufor wartości logicznych. |
abstrakcyjny bufor DoubleDataBuffer | jako podwójna () Zwróć ten bufor bajtów jako bufor wartości podwójnych. |
abstrakcyjny bufor danych FloatDataBuffer | asFloats () Zwróć ten bufor bajtów jako bufor liczb zmiennoprzecinkowych. |
streszczenie IntDataBuffer | asInts () Zwróć ten bufor bajtów jako bufor liczb całkowitych. |
abstrakcyjny długi bufor danych | jako długie () Zwróć ten bufor bajtów jako bufor wartości długich. |
streszczenie ShortDataBuffer | jako Szorty () Zwróć ten bufor bajtów jako bufor zwarć. |
abstrakcyjny bufor danych bajtowych | copyTo ( Bufor danych <bajt> dst, długi rozmiar) |
bajt abstrakcyjny | getByte (długi indeks) Odczytuje bajt o podanym indeksie. |
abstrakcyjny bajt | getObject (długi indeks) Odczytuje wartość o podanym indeksie. |
abstrakcyjny bufor danych bajtowych | wąski (długi rozmiar) Tworzy nowy bufor, którego zawartość jest współdzielonym podciągiem zawartości tego bufora, którego rozmiar jest ustawiony na podaną wartość. |
abstrakcyjny bufor danych bajtowych | przesunięcie (długi indeks) Tworzy nowy bufor, którego zawartość jest współdzielonym podciągiem zawartości tego bufora, zaczynając od podanego indeksu. |
abstrakcyjny bufor danych bajtowych | czytaj (bajt[] dst) Metoda pobierania zbiorczego przy użyciu tablic bajtowych. |
abstrakcyjny bufor danych bajtowych | odczyt (bajt[] dst, int przesunięcie, int długość) Metoda pobierania zbiorczego przy użyciu tablic bajtowych. |
abstrakcyjny bufor danych bajtowych | setByte (wartość bajtu, długi indeks) Zapisuje podany bajt do tego bufora pod podanym indeksem. |
abstrakcyjny bufor danych bajtowych | setObject (wartość bajtu, długi indeks) |
abstrakcyjny bufor danych bajtowych | plasterek (długi indeks, długi rozmiar) Tworzy nowy bufor, którego zawartość jest współdzielonym podciągiem zawartości tego bufora, zaczynając od podanego indeksu i o podanym rozmiarze. |
streszczenie DataBufferWindow < ByteDataBuffer > | okno (długie) Tworzy DataBufferWindow , który zapewnia częściowy widok tego buforu. |
abstrakcyjny bufor danych bajtowych | napisz (bajt[] src) Metoda umieszczania zbiorczego przy użyciu tablic bajtowych. |
abstrakcyjny bufor danych bajtowych | zapis (bajt [] src, int przesunięcie, int długość) Metoda umieszczania zbiorczego przy użyciu tablic bajtowych. |
Metody dziedziczone
Metody publiczne
publiczny streszczenie BooleanDataBuffer asBooleans ()
Zwróć ten bufor bajtów jako bufor wartości logicznych.
Zwrócony bufor zapewnia inny widok tej samej pamięci, co oryginalny bufor bajtowy, co oznacza, że zmiana wartości w jednym będzie miała wpływ na drugą.
Powroty
- ten bufor jako
BooleanDataBuffer
Rzuca
Wyjątek IllegalStateException | jeśli ten bufor nie może zostać przekonwertowany |
---|
publiczne streszczenie DoubleDataBuffer asDoubles ()
Zwróć ten bufor bajtów jako bufor wartości podwójnych.
Zwrócony bufor zapewnia inny widok tej samej pamięci, co oryginalny bufor bajtowy, co oznacza, że zmiana wartości w jednym będzie miała wpływ na drugą.
Powroty
- ten bufor jako
DoubleDataBuffer
Rzuca
Wyjątek IllegalStateException | jeśli ten bufor nie może zostać przekonwertowany |
---|
publiczna abstrakcja FloatDataBuffer asFloats ()
Zwróć ten bufor bajtów jako bufor liczb zmiennoprzecinkowych.
Zwrócony bufor zapewnia inny widok tej samej pamięci, co oryginalny bufor bajtowy, co oznacza, że zmiana wartości w jednym będzie miała wpływ na drugą.
Powroty
- ten bufor jako
FloatDataBuffer
Rzuca
Wyjątek IllegalStateException | jeśli ten bufor nie może zostać przekonwertowany |
---|
publiczne streszczenie IntDataBuffer asInts ()
Zwróć ten bufor bajtów jako bufor liczb całkowitych.
Zwrócony bufor zapewnia inny widok tej samej pamięci, co oryginalny bufor bajtowy, co oznacza, że zmiana wartości w jednym będzie miała wpływ na drugą.
Powroty
- ten bufor jako
IntDataBuffer
Rzuca
Wyjątek IllegalStateException | jeśli ten bufor nie może zostać przekonwertowany |
---|
publiczne streszczenie LongDataBuffer asLongs ()
Zwróć ten bufor bajtów jako bufor wartości długich.
Zwrócony bufor zapewnia inny widok tej samej pamięci, co oryginalny bufor bajtowy, co oznacza, że zmiana wartości w jednym będzie miała wpływ na drugą.
Powroty
- ten bufor jako
LongDataBuffer
Rzuca
Wyjątek IllegalStateException | jeśli ten bufor nie może zostać przekonwertowany |
---|
publiczne streszczenie ShortDataBuffer asShorts ()
Zwróć ten bufor bajtów jako bufor zwarć.
Zwrócony bufor zapewnia inny widok tej samej pamięci, co oryginalny bufor bajtowy, co oznacza, że zmiana wartości w jednym będzie miała wpływ na drugą.
Powroty
- ten bufor jako
ShortDataBuffer
Rzuca
Wyjątek IllegalStateException | jeśli ten bufor nie może zostać przekonwertowany |
---|
publiczny bajt abstrakcyjny getByte (długi indeks)
Odczytuje bajt o podanym indeksie.
Parametry
indeks | indeks, z którego będzie odczytywany float |
---|
Powroty
- bajt o danym indeksie
Rzuca
Wyjątek IndexOutOfBounds | jeśli indeks jest ujemny lub nie mniejszy niż rozmiar bufora |
---|
public streszczenie Bajt getObject (długi indeks)
Odczytuje wartość o podanym indeksie. Ważne: użycie tej metody powinno być ograniczone do buforów typów innych niż pierwotne lub gdy typ danych nie jest deterministycznie znany wywołującemu. W każdym innym przypadku preferuj użycie jego prymitywnego wariantu, który znacznie poprawi wydajność (np. IntDataBuffer.getInt(idx)
Parametry
indeks | indeks, z którego będzie odczytywany float |
---|
Powroty
- wartość przy danym indeksie
publiczna abstrakcja ByteDataBuffer wąski (długi rozmiar)
Tworzy nowy bufor, którego zawartość jest współdzielonym podciągiem zawartości tego bufora, którego rozmiar jest ustawiony na podaną wartość.
Nowy rozmiar nie może być większy niż rozmiar bufora. Zmiany w zawartości tego bufora będą widoczne w nowym buforze i odwrotnie. Nowy bufor będzie tylko do odczytu wtedy i tylko wtedy, gdy ten bufor będzie tylko do odczytu.
To wywołanie jest równoważne slice(0, size)
Parametry
rozmiar | rozmiar tego nowego bufora |
---|
Powroty
- nowy bufor
publiczna abstrakcja ByteDataBuffer offset (długi indeks)
Tworzy nowy bufor, którego zawartość jest współdzielonym podciągiem zawartości tego bufora, zaczynając od podanego indeksu.
Indeks nie może być większy niż rozmiar bufora. Zmiany w zawartości tego bufora będą widoczne w nowym buforze i odwrotnie. Nowy bufor będzie tylko do odczytu wtedy i tylko wtedy, gdy ten bufor będzie tylko do odczytu.
To wywołanie jest równoważne z slice(index, size() - index)
Parametry
indeks | indeks pierwszej wartości nowo utworzonego bufora nie może być większy niż size() |
---|
Powroty
- nowy bufor
publiczny odczyt ByteDataBuffer streszczenie (bajt[] dst)
Metoda pobierania zbiorczego przy użyciu tablic bajtowych.
Ta metoda przenosi wartości z tego bufora do podanej tablicy docelowej. Jeśli w buforze znajduje się mniej wartości, niż jest to wymagane do zaspokojenia żądania, to znaczy, jeśli dst.length > size()
, wówczas żadne wartości nie są przesyłane i zgłaszany jest wyjątek BufferUnderflowException.
W przeciwnym razie ta metoda kopiuje wartości n = dst.length
z tego bufora do podanej tablicy.
Parametry
dst | tablica, do której mają zostać zapisane wartości |
---|
Powroty
- ten bufor
Rzuca
Wyjątek BufferUnderflow | jeśli nie ma wystarczającej liczby wartości do skopiowania z tego bufora |
---|
publiczny odczyt ByteDataBuffer streszczenie ByteDataBuffer ( bajt[] dst, int przesunięcie, int długość)
Metoda pobierania zbiorczego przy użyciu tablic bajtowych.
Ta metoda przenosi wartości z tego bufora do podanej tablicy docelowej. Jeśli w buforze znajduje się mniej wartości, niż jest to wymagane do zaspokojenia żądania, to znaczy, jeśli length > size()
, wówczas nie są przesyłane żadne wartości i zgłaszany jest wyjątek BufferUnderflowException.
W przeciwnym razie ta metoda kopiuje wartości n = length
z tego bufora do danej tablicy, zaczynając od danego przesunięcia.
Parametry
dst | tablica, do której mają zostać zapisane wartości |
---|---|
zrównoważyć | przesunięcie w tablicy pierwszej wartości do zapisania; musi być nieujemna i nie większa niż dst.length |
długość | maksymalna liczba wartości do zapisania do danej tablicy; musi być nieujemna i nie większa niż dst.length - offset |
Powroty
- ten bufor
Rzuca
Wyjątek BufferUnderflow | jeśli w tym buforze pozostało mniej niż długość wartości |
---|---|
Wyjątek IndexOutOfBounds | jeśli warunki wstępne dotyczące parametrów przesunięcia i długości nie są spełnione |
public streszczenie ByteDataBuffer setByte (wartość bajtu, długi indeks)
Zapisuje podany bajt do tego bufora pod podanym indeksem.
Parametry
wartość | bajt do zapisania |
---|---|
indeks | indeks, pod którym wartość zostanie zapisana |
Powroty
- ten bufor
Rzuca
Wyjątek IndexOutOfBounds | jeśli indeks jest ujemny lub nie mniejszy niż rozmiar bufora |
---|---|
Wyjątek ReadOnlyBufferException | jeśli ten bufor jest tylko do odczytu |
publiczny plasterek abstrakcyjnego ByteDataBuffer (długi indeks, duży rozmiar)
Tworzy nowy bufor, którego zawartość jest współdzielonym podciągiem zawartości tego bufora, zaczynając od podanego indeksu i o podanym rozmiarze.
Indeks plus nowy rozmiar nie może być większy niż rozmiar bufora. Zmiany w zawartości tego bufora będą widoczne w nowym buforze i odwrotnie. Nowy bufor będzie tylko do odczytu wtedy i tylko wtedy, gdy ten bufor będzie tylko do odczytu.
Parametry
indeks | indeks pierwszej wartości utworzonego nowego bufora |
---|---|
rozmiar | rozmiar tego nowego bufora nie może być większy niż size() |
Powroty
- nowy bufor
publiczne streszczenie DataBufferWindow < ByteDataBuffer > okno (długi rozmiar)
Tworzy DataBufferWindow
, który zapewnia częściowy widok tego buforu.
Utworzone okno ma stały rozmiar i może "slide"
wzdłuż tego bufora, aby zapewnić różne widoki danych bez przydzielania nowej instancji bufora, tak jak robi to offset(long)
. Poprawia to ogólną wydajność, gdy ta operacja jest często powtarzana. Na przykład:
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;
}
}
Zwrócony obiekt jest stanowy i nie jest bezpieczny dla wątków.
Parametry
rozmiar | wielkość okna |
---|
Powroty
- nowe okno rozpoczynające się od indeksu 0 tego bufora
publiczny zapis ByteDataBuffer streszczenie (bajt[] src)
Metoda umieszczania zbiorczego przy użyciu tablic bajtowych.
Ta metoda przenosi wartości z danej tablicy źródłowej do tego bufora. Jeśli w tablicy źródłowej znajduje się więcej wartości niż w tym buforze, to znaczy, jeśli src.length > size()
, wówczas żadne wartości nie są przesyłane i zgłaszany jest wyjątek BufferOverflowException.
W przeciwnym razie ta metoda kopiuje wartości n = src.length
z podanej tablicy.
Parametry
źródło | tablica źródłowa, z której mają zostać odczytane wartości |
---|
Powroty
- ten bufor
Rzuca
Wyjątek BufferOverflow | jeśli w tym buforze nie ma wystarczającej ilości miejsca na wartości w tablicy źródłowej |
---|---|
Wyjątek ReadOnlyBufferException | jeśli ten bufor jest tylko do odczytu |
publiczny zapis ByteDataBuffer streszczenie (bajt[] src, int przesunięcie, int długość)
Metoda umieszczania zbiorczego przy użyciu tablic bajtowych.
Ta metoda przenosi wartości z danej tablicy źródłowej do tego bufora. Jeśli w tablicy źródłowej znajduje się więcej wartości niż w tym buforze, to znaczy, jeśli length > size()
, wówczas nie są przesyłane żadne wartości i zgłaszany jest wyjątek BufferOverflowException.
W przeciwnym razie ta metoda kopiuje wartości n = length
z podanej tablicy do tego bufora, zaczynając od danego przesunięcia.
Parametry
źródło | tablica źródłowa, z której mają zostać odczytane wartości |
---|---|
zrównoważyć | przesunięcie w tablicy pierwszej wartości do odczytania; musi być nieujemna i nie większa niż src.length |
długość | liczba wartości do odczytania z danej tablicy; musi być nieujemna i nie większa niż src.length - offset |
Powroty
- ten bufor
Rzuca
Wyjątek BufferOverflow | jeśli w tym buforze nie ma wystarczającej ilości miejsca na wartości w tablicy źródłowej |
---|---|
Wyjątek IndexOutOfBounds | jeśli warunki wstępne dotyczące parametrów przesunięcia i długości nie są spełnione |
Wyjątek ReadOnlyBufferException | jeśli ten bufor jest tylko do odczytu |