Spec-Zone.ru › OpenJDK 21

Класс ShortBuffer

java.lang.Object
java.nio.Buffer
java.nio.ShortBuffer
Все реализованные интерфейсы:
Comparable<ShortBuffer>
public abstract sealed class ShortBuffer extends Buffer implements Comparable<ShortBuffer>
Буфер коротких целых чисел.

Этот класс определяет четыре категории операций с буферами коротких целых чисел:

  • Абсолютные и относительные методы get и put, которые считывают и записывают отдельные короткие целые числа;

  • Абсолютные и относительные методы bulk get для передачи непрерывных последовательностей коротких целых чисел из этого буфера в массив;

  • Абсолютные и относительные методы bulk put для передачи непрерывных последовательностей коротких целых чисел из массива коротких целых чисел или из другого буфера коротких целых чисел в этот буфер;

  • Метод для compacting буфера коротких целых чисел.

Буферы коротких целых чисел можно создать либо с помощью allocation, который выделяет место для содержимого буфера, либо с помощью wrapping существующего массива коротких целых чисел в буфер, или путем создания представления существующего буфера байтов.

Как и буфер байтов, буфер коротких целых чисел может быть прямым или косвенным. Буфер коротких целых чисел, созданный с помощью методов этого класса, будет косвенным. Буфер коротких целых чисел, созданный как представление буфера байтов, будет прямым, только если сам буфер байтов является прямым. Можно определить, является ли буфер коротких целых чисел прямым, вызвав метод isDirect.

Методы в этом классе, которые не возвращают другое значение, возвращают буфер, над которым они вызываются. Это позволяет объединять вызовы методов.

Дополнительные операции

Методы, обозначенные как дополнительные операции, выбрасывают ReadOnlyBufferException при вызове для только для чтения ShortBuffer. Методы array и arrayOffset выбрасывают UnsupportedOperationException, если ShortBuffer не поддерживает доступ к массиву коротких целых чисел (независимо от того, является ли ShortBuffer только для чтения).
С тех пор:
1.4

Краткое описание методов

Модификатор и тип Метод Описание
static ShortBuffer allocate(int capacity)
Выделяет новый буфер коротких целых чисел.
final short[] array()
Возвращает массив коротких целых чисел, который лежит в основе этого буфера (дополнительная операция).
final int arrayOffset()
Возвращает смещение в массиве, лежащем в основе этого буфера, первого элемента буфера (дополнительная операция).
abstract ShortBuffer asReadOnlyBuffer()
Создает новый, только для чтения, буфер коротких целых чисел, который разделяет содержимое этого буфера.
final ShortBuffer clear()
Очищает этот буфер.
abstract ShortBuffer compact()
Сжимает этот буфер (дополнительная операция).
int compareTo(ShortBuffer that)
Сравнивает этот буфер с другим.
abstract ShortBuffer duplicate()
Создает новый буфер коротких целых чисел, который разделяет содержимое этого буфера.
boolean equals(Object ob)
Определяет, равен ли этот буфер другому объекту.
final ShortBuffer flip()
Переворачивает этот буфер.
abstract short get()
Относительный метод get.
abstract short get(int index)
Абсолютный метод get.
ShortBuffer get(int index, short[] dst)
Абсолютный метод get для блоков данных.
ShortBuffer get(int index, short[] dst, int offset, int length)
Абсолютный метод get для блоков данных.
ShortBuffer get(short[] dst)
Относительный метод get для блоков данных.
ShortBuffer get(short[] dst, int offset, int length)
Относительный метод get для блоков данных.
final boolean hasArray()
Указывает, поддерживает ли этот буфер доступ к массиву коротких целых чисел.
int hashCode()
Возвращает текущий хэш-код этого буфера.
abstract boolean isDirect()
Определяет, является ли этот буфер коротких целых чисел прямым.
final ShortBuffer limit(int newLimit)
Устанавливает предел этого буфера.
final ShortBuffer mark()
Устанавливает метку этого буфера в его текущей позиции.
int mismatch(ShortBuffer that)
Находит и возвращает относительный индекс первого несовпадения между этим буфером и заданным буфером.
abstract ByteOrder order()
Возвращает порядок байтов этого буфера.
final ShortBuffer position(int newPosition)
Устанавливает позицию этого буфера.
abstract ShortBuffer put(int index, short s)
Абсолютный метод put (дополнительная операция).
ShortBuffer put(int index, short[] src)
Абсолютный метод put для блоков данных (дополнительная операция).
ShortBuffer put(int index, short[] src, int offset, int length)
Абсолютный метод put для блоков данных (дополнительная операция).
ShortBuffer put(int index, ShortBuffer src, int offset, int length)
Абсолютный метод put для блоков данных (дополнительная операция).
abstract ShortBuffer put(short s)
Относительный метод put (дополнительная операция).
final ShortBuffer put(short[] src)
Относительный метод put для блоков данных (дополнительная операция).
ShortBuffer put(short[] src, int offset, int length)
Относительный метод put для блоков данных (дополнительная операция).
ShortBuffer put(ShortBuffer src)
Относительный метод put для блоков данных (дополнительная операция).
final ShortBuffer reset()
Возвращает позицию этого буфера к ранее отмеченной позиции.
final ShortBuffer rewind()
Перематывает этот буфер.
abstract ShortBuffer slice()
Создает новый буфер коротких целых чисел, чье содержимое является разделяемой подпоследовательностью содержимого этого буфера.
abstract ShortBuffer slice(int index, int length)
Создает новый буфер коротких целых чисел, чье содержимое является разделяемой подпоследовательностью содержимого этого буфера.
String toString()
Возвращает строку, обобщающую состояние этого буфера.
static ShortBuffer wrap(short[] array)
Оборачивает массив коротких целых чисел в буфер.
static ShortBuffer wrap(short[] array, int offset, int length)
Оборачивает массив коротких целых чисел в буфер.

Методы, объявленные в классе java.nio.Buffer

capacity, hasRemaining, isReadOnly, limit, position, remaining

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

allocate

public static ShortBuffer allocate(int capacity)
Выделяет новый буфер коротких целых чисел.

Позиция нового буфера будет равна нулю, его предел — его емкость, метка — неопределённая, каждый элемент инициализируется нулём, а порядок байтов — native order основного оборудования. Он будет иметь backing array, а его array offset будет равен нулю.

Параметры:
capacity - Емкость нового буфера коротких целых чисел
Возвращает:
Новый буфер коротких целых чисел
Исключение:
IllegalArgumentException - Если capacity — отрицательное целое число

wrap

public static ShortBuffer wrap(short[] array, int offset, int length)
Оборачивает массив коротких целых чисел в буфер.

Новый буфер будет использовать заданный массив коротких целых чисел в качестве источника данных; изменения в буфере изменят массив и наоборот. Емкость нового буфера будет array.length, его позиция — offset, его предел — offset + length, метка — неопределённая, а порядок байтов — native order основного оборудования. Его backing array будет заданным массивом, а array offset — нулём.

Параметры:
array - Массив, который будет использоваться новым буфером
offset - Смещение подмассива для использования; должно быть неотрицательным и не больше array.length. Позиция нового буфера будет установлена в это значение.
length - Длина подмассива для использования; должно быть неотрицательным и не больше array.length - offset. Предел нового буфера будет установлен в offset + length.
Возвращает:
Новый буфер коротких целых чисел
Исключение:
IndexOutOfBoundsException - Если условия на offset и length параметры не выполняются

wrap

public static ShortBuffer wrap(short[] array)
Оборачивает массив коротких целых чисел в буфер.

Новый буфер будет использовать заданный массив коротких целых чисел в качестве источника данных; изменения в буфере изменят массив и наоборот. Емкость и предел нового буфера будут array.length, его позиция — нуль, метка — неопределённая, а порядок байтов — native order основного оборудования. Его backing array будет заданным массивом, а array offset — нулём.

Параметры:
array - Массив, который будет использоваться этим буфером
Возвращает:
Новый буфер коротких целых чисел

slice

public abstract ShortBuffer slice()
Создаёт новый буфер коротких целых чисел, содержащий общую подпоследовательность содержимого этого буфера.

Содержимое нового буфера начнется с текущей позиции этого буфера. Изменения в содержимом этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и метки двух буферов будут независимыми.

Позиция нового буфера будет нулевой, его емкость и предел — количество оставшихся коротких целых чисел в этом буфере, метка — неопределённая, а порядок байтов — такой же, как у этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и он будет только для чтения, тогда и только тогда, когда этот буфер является только для чтения.

Указано в:
slice в классе Buffer
Возвращает:
Новый буфер коротких целых чисел

slice

public abstract ShortBuffer slice(int index, int length)
Создаёт новый буфер коротких целых чисел, содержащий общую подпоследовательность содержимого этого буфера.

Содержимое нового буфера начнется с позиции index в этом буфере и будет содержать length элементов. Изменения в содержимом этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и метки двух буферов будут независимыми.

Позиция нового буфера будет нулевой, его емкость и предел — length, метка — неопределённая, а порядок байтов — такой же, как у этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и он будет только для чтения, тогда и только тогда, когда этот буфер является только для чтения.

Указано в:
slice в классе Buffer
Параметры:
index - Позиция в этом буфере, с которой начнется содержимое нового буфера; должна быть неотрицательной и не больше limit()
length - Количество элементов, которые будет содержать новый буфер; должно быть неотрицательным и не больше limit() - index
Возвращает:
Новый буфер
Исключение:
IndexOutOfBoundsException - Если index отрицательное или больше limit(), length отрицательное, или length > limit() - index
С:
13

duplicate

public abstract ShortBuffer duplicate()
Создаёт новый буфер коротких целых чисел, разделяющий содержимое этого буфера.

Содержимое нового буфера будет таким же, как у этого буфера. Изменения в содержимом этого буфера будут видны в новом буфере, и наоборот; значения позиции, предела и метки двух буферов будут независимыми.

Емкость, предел, позиция, метка и порядок байтов нового буфера будут идентичны значениям этого буфера. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и он будет только для чтения, тогда и только тогда, когда этот буфер является только для чтения.

Указано в:
duplicate в классе Buffer
Возвращает:
Новый буфер коротких целых чисел

asReadOnlyBuffer

public abstract ShortBuffer asReadOnlyBuffer()
Создаёт новый буфер коротких целых чисел только для чтения, разделяющий содержимое этого буфера.

Содержимое нового буфера будет таким же, как у этого буфера. Изменения в содержимом этого буфера будут видны в новом буфере; однако сам новый буфер будет только для чтения и не позволит изменять общее содержимое. Значения позиции, предела и метки двух буферов будут независимыми.

Емкость, предел, позиция, метка и порядок байтов нового буфера будут идентичны значениям этого буфера.

Если этот буфер уже только для чтения, то этот метод ведет себя точно так же, как метод duplicate.

Возвращает:
Новый буфер коротких целых чисел только для чтения

get

public abstract short get()
Относительный метод get. Читает короткое целое число в текущей позиции буфера и увеличивает позицию.
Возвращает:
Короткое целое число в текущей позиции буфера
Исключение:
BufferUnderflowException - Если текущая позиция буфера не меньше его предела

put

public abstract ShortBuffer put(short s)
Относительный метод put (дополнительная операция).

Записывает заданное короткое целое число в этот буфер в текущей позиции, а затем увеличивает позицию.

Параметры:
s - Короткое целое число для записи
Возвращает:
Этот буфер
Исключение:
BufferOverflowException - Если текущая позиция буфера не меньше его предела
ReadOnlyBufferException - Если этот буфер только для чтения

get

public abstract short get(int index)
Абсолютный метод get. Читает короткое целое число по заданному индексу.
Параметры:
index - Индекс, по которому будет считано короткое целое число
Возвращает:
Короткое целое число по заданному индексу
Исключение:
IndexOutOfBoundsException - Если index отрицательное или не меньше предела буфера

put

public abstract ShortBuffer put(int index, short s)
Абсолютный метод put (дополнительная операция).

Записывает заданное короткое целое число в этот буфер по заданному индексу.

Параметры:
index - Индекс, по которому будет записано короткое целое число
s - Значение короткого целого числа для записи
Возвращает:
Этот буфер
Исключение:
IndexOutOfBoundsException - Если index отрицательное или не меньше предела буфера
ReadOnlyBufferException - Если этот буфер только для чтения

get

public ShortBuffer get(short[] dst, int offset, int length)
Относительный метод пакетного получения.

Этот метод переносит короткие целые числа из этого буфера в заданный массив назначения. Если оставшихся в буфере коротких целых чисел меньше, чем требуется для удовлетворения запроса, то есть, если length > remaining(), то короткие целые числа не переносятся, и выбрасывается исключение BufferUnderflowException.

В противном случае этот метод копирует length коротких целых числа из этого буфера в заданный массив, начиная с текущей позиции этого буфера и заданного смещения в массиве. Позиция этого буфера затем увеличивается на length.

Другими словами, вызов этого метода в форме src.get(dst, off, len) имеет точно такой же эффект, как цикл

    for (int i = off; i < off + len; i++)
        dst[i] = src.get();
за исключением того, что он сначала проверяет наличие достаточного количества коротких целых чисел в этом буфере и потенциально значительно более эффективен.
Параметры:
dst - Массив, в который должны быть записаны короткие целые числа
offset - Смещение в массиве первого короткого целого числа, которое должно быть записано; должно быть неотрицательным и не больше dst.length
length - Максимальное количество коротких целых чисел, которые должны быть записаны в заданный массив; должно быть неотрицательным и не больше dst.length - offset
Возвращает:
Этот буфер
Исключение:
BufferUnderflowException - Если оставшихся в этом буфере коротких целых чисел меньше, чем length
IndexOutOfBoundsException - Если условия на offset и length параметры не выполняются

get

public ShortBuffer get(short[] dst)
Метод get относительного копирования.

Этот метод копирует короткие целые числа из этого буфера в заданный целевой массив. Вызов этого метода в форме src.get(a) ведет себя точно так же, как вызов

    src.get(a, 0, a.length)
Параметры:
dst - Целевой массив
Возвращает:
Этот буфер
Исключения:
BufferUnderflowException - Если в этом буфере осталось меньше, чем length коротких целых чисел

get

public ShortBuffer get(int index, short[] dst, int offset, int length)
Метод get абсолютного копирования.

Этот метод копирует length коротких целых чисел из этого буфера в заданный массив, начиная с заданного индекса в этом буфере и с заданного смещения в массиве. Позиция этого буфера не изменяется.

Вызов этого метода в форме src.get(index, dst, offset, length) имеет точно такой же эффект, как и следующий цикл, за исключением того, что он сначала проверяет корректность предоставленных параметров и потенциально значительно эффективнее:

    for (int i = offset, j = index; i < offset + length; i++, j++)
        dst[i] = src.get(j);
Параметры:
index - Индекс в этом буфере, с которого будет считано первое короткое целое число; должен быть неотрицательным и меньше limit()
dst - Целевой массив
offset - Смещение в массиве первого короткого целого числа для записи; должно быть неотрицательным и меньше dst.length
length - Количество коротких целых чисел, которые должны быть записаны в заданный массив; должно быть неотрицательным и не превышать меньшего из limit() - index и dst.length - offset
Возвращает:
Этот буфер
Исключения:
IndexOutOfBoundsException - Если условия на параметры index, offset, и length не соблюдаются
С:
13

get

public ShortBuffer get(int index, short[] dst)
Метод get абсолютного копирования.

Этот метод копирует короткие целые числа из этого буфера в заданный целевой массив. Позиция этого буфера не изменяется. Вызов этого метода в форме src.get(index, dst) ведет себя точно так же, как вызов:

    src.get(index, dst, 0, dst.length)
Параметры:
index - Индекс в этом буфере, с которого будет считано первое короткое целое число; должен быть неотрицательным и меньше limit()
dst - Целевой массив
Возвращает:
Этот буфер
Исключения:
IndexOutOfBoundsException - Если index отрицательное, не меньше limit(), или limit() - index < dst.length
С:
13

put

public ShortBuffer put(ShortBuffer src)
Метод put относительного копирования (необязательная операция).

Этот метод копирует оставшиеся в заданном буфере короткие целые числа в этот буфер. Если в исходном буфере осталось больше коротких целых чисел, чем в этом буфере, то есть, если src.remaining() > remaining(), то короткие целые числа не копируются, и выбрасывается исключение BufferOverflowException.

В противном случае, этот метод копирует n = src.remaining() коротких целых чисел из заданного буфера в этот буфер, начиная с текущей позиции каждого буфера. Позиции обоих буферов затем увеличиваются на n.

Другими словами, вызов этого метода в форме dst.put(src) имеет точно такой же эффект, как цикл

    while (src.hasRemaining())
        dst.put(src.get());
за исключением того, что он сначала проверяет наличие достаточного места в этом буфере и потенциально значительно эффективнее. Если этот буфер и исходный буфер используют один и тот же базовый массив или память, результат будет таким, как если бы исходные элементы были сначала скопированы во временное местоположение перед записью в этот буфер.
Параметры:
src - Исходный буфер, из которого считываются короткие целые числа; не должен быть этим буфером
Возвращает:
Этот буфер
Исключения:
BufferOverflowException - Если в этом буфере недостаточно места для оставшихся коротких целых чисел в исходном буфере
IllegalArgumentException - Если исходный буфер является этим буфером
ReadOnlyBufferException - Если этот буфер только для чтения

put

public ShortBuffer put(int index, ShortBuffer src, int offset, int length)
Метод put абсолютного копирования (необязательная операция).

Этот метод копирует length коротких целых чисел в этот буфер из заданного исходного буфера, начиная с заданного offset в исходном буфере и заданного index в этом буфере. Позиции обоих буферов не изменяются.

Другими словами, вызов этого метода в форме dst.put(index, src, offset, length) имеет точно такой же эффект, как цикл

    for (int i = offset, j = index; i < offset + length; i++, j++)
        dst.put(j, src.get(i));
за исключением того, что он сначала проверяет корректность предоставленных параметров и потенциально значительно эффективнее. Если этот буфер и исходный буфер используют один и тот же базовый массив или память, результат будет таким, как если бы исходные элементы были сначала скопированы во временное местоположение перед записью в этот буфер.
Параметры:
index - Индекс в этом буфере, в который будет записано первое короткое целое число; должен быть неотрицательным и меньше limit()
src - Буфер, из которого считываются короткие целые числа
offset - Индекс в исходном буфере первого короткого целого числа для чтения; должен быть неотрицательным и меньше src.limit()
length - Количество коротких целых чисел, которые должны быть считаны из данного буфера; должно быть неотрицательным и не превышать меньшего из limit() - index и src.limit() - offset
Возвращает:
Этот буфер
Исключения:
IndexOutOfBoundsException - Если условия на параметры index, offset, и length не соблюдаются
ReadOnlyBufferException - Если этот буфер только для чтения
С:
16

put

public ShortBuffer put(short[] src, int offset, int length)
Метод put относительного копирования (необязательная операция).

Этот метод копирует короткие целые числа в этот буфер из заданного исходного массива. Если коротких целых чисел для копирования из массива больше, чем остается в этом буфере, то есть, если length > remaining(), то короткие целые числа не копируются, и выбрасывается исключение BufferOverflowException.

В противном случае, этот метод копирует length коротких целых чисел из заданного массива в этот буфер, начиная со смещения в массиве и текущей позиции этого буфера. Позиция этого буфера затем увеличивается на length.

Другими словами, вызов этого метода в форме dst.put(src, off, len) имеет точно такой же эффект, как цикл

    for (int i = off; i < off + len; i++)
        dst.put(src[i]);
за исключением того, что он сначала проверяет наличие достаточного места в этом буфере и потенциально значительно эффективнее.
Параметры:
src - Массив, из которого считываются короткие целые числа
offset - Смещение в массиве первого короткого целого числа для чтения; должно быть неотрицательным и не превышать src.length
length - Количество коротких целых чисел, которые должны быть считаны из заданного массива; должно быть неотрицательным и не превышать src.length - offset
Возвращает:
Этот буфер
Исключения:
BufferOverflowException - Если в этом буфере недостаточно места
IndexOutOfBoundsException - Если условия на параметры offset и length не соблюдаются
ReadOnlyBufferException - Если этот буфер только для чтения

put

public final ShortBuffer put(short[] src)
Метод put относительного копирования (необязательная операция).

Этот метод копирует все содержимое заданного исходного массива коротких целых чисел в этот буфер. Вызов этого метода в форме dst.put(a) ведет себя точно так же, как вызов

    dst.put(a, 0, a.length)
Параметры:
src - Исходный массив
Возвращает:
Этот буфер
Исключения:
BufferOverflowException - Если в этом буфере недостаточно места
ReadOnlyBufferException - Если этот буфер только для чтения

put

public ShortBuffer put(int index, short[] src, int offset, int length)
Метод put абсолютного копирования (необязательная операция).

Этот метод копирует length коротких целых чисел из заданного массива, начиная со смещения в массиве и заданного индекса в этом буфере. Позиция этого буфера не изменяется.

Вызов этого метода в форме dst.put(index, src, offset, length) имеет точно такой же эффект, как и следующий цикл, за исключением того, что он сначала проверяет корректность предоставленных параметров и потенциально значительно эффективнее:

    for (int i = offset, j = index; i < offset + length; i++, j++)
        dst.put(j, src[i]);
Параметры:
index - Индекс в этом буфере, в который будет записано первое короткое целое число; должен быть неотрицательным и меньше limit()
src - Массив, из которого считываются короткие целые числа
offset - Смещение в массиве первого короткого целого числа для чтения; должно быть неотрицательным и меньше src.length
length - Количество коротких целых чисел, которые должны быть считаны из заданного массива; должно быть неотрицательным и не превышать меньшего из limit() - index и src.length - offset
Возвращает:
Этот буфер
Исключения:
IndexOutOfBoundsException - Если условия на параметры index, offset, и length не соблюдаются
ReadOnlyBufferException - Если этот буфер только для чтения
С:
13

put

public ShortBuffer put(int index, short[] src)
Метод абсолютного объёмного put (необязательная операция).

Этот метод копирует в этот буфер короткие целые числа из заданного массива. Позиция этого буфера не изменяется. Вызов этого метода в форме dst.put(index, src) ведет себя точно так же, как вызов:

    dst.put(index, src, 0, src.length);
Параметры:
index - Индекс в этом буфере, с которого будет записано первое короткое целое число; должен быть неотрицательным и меньше limit()
src - Массив, из которого следует читать короткие целые числа
Возвращает:
Этот буфер
Исключения:
IndexOutOfBoundsException - Если index отрицательно, не меньше limit(), или limit() - index < src.length
ReadOnlyBufferException - Если этот буфер является только для чтения
С:
13

hasArray

public final boolean hasArray()
Определяет, поддерживается ли этот буфер доступным массивом коротких целых чисел.

Если этот метод возвращает true, то методы array и arrayOffset могут безопасно вызываться.

Определено в:
hasArray в классе Buffer
Возвращает:
true тогда и только тогда, когда этот буфер поддерживается массивом и не является только для чтения

array

public final short[] array()
Возвращает массив коротких целых чисел, который поддерживает этот буфер (необязательная операция).

Изменения в содержимом этого буфера приведут к изменению содержимого возвращаемого массива, и наоборот.

Вызовите метод hasArray перед вызовом этого метода, чтобы убедиться, что этот буфер имеет доступный массив.

Определено в:
array в классе Buffer
Возвращает:
Массив, поддерживающий этот буфер
Исключения:
ReadOnlyBufferException - Если этот буфер поддерживается массивом, но является только для чтения
UnsupportedOperationException - Если этот буфер не поддерживается доступным массивом

arrayOffset

public final int arrayOffset()
Возвращает смещение в поддерживающем массив этого буфера первого элемента буфера (необязательная операция).

Если этот буфер поддерживается массивом, то позиция буфера p соответствует индексу массива p + arrayOffset().

Вызовите метод hasArray перед вызовом этого метода, чтобы убедиться, что этот буфер имеет доступный массив.

Определено в:
arrayOffset в классе Buffer
Возвращает:
Смещение в массиве этого буфера первого элемента буфера
Исключения:
ReadOnlyBufferException - Если этот буфер поддерживается массивом, но является только для чтения
UnsupportedOperationException - Если этот буфер не поддерживается доступным массивом

position

public final ShortBuffer position(int newPosition)
Устанавливает позицию этого буфера. Если метка определена и больше новой позиции, она отбрасывается.
Переопределяет:
position в классе Buffer
Параметры:
newPosition - Новое значение позиции; должно быть неотрицательным и не больше текущего предела
Возвращает:
Этот буфер
С:
9

limit

public final ShortBuffer limit(int newLimit)
Устанавливает предел этого буфера. Если позиция больше нового предела, она устанавливается в новый предел. Если метка определена и больше нового предела, она отбрасывается.
Переопределяет:
limit в классе Buffer
Параметры:
newLimit - Новое значение предела; должно быть неотрицательным и не больше емкости этого буфера
Возвращает:
Этот буфер
С:
9

mark

public final ShortBuffer mark()
Устанавливает метку этого буфера в его позиции.
Переопределяет:
mark в классе Buffer
Возвращает:
Этот буфер
С:
9

reset

public final ShortBuffer reset()
Сбрасывает позицию этого буфера до ранее помеченной позиции.

Вызов этого метода не изменяет и не отбрасывает значение метки.

Переопределяет:
reset в классе Buffer
Возвращает:
Этот буфер
С:
9

clear

public final ShortBuffer clear()
Очищает этот буфер. Позиция устанавливается в ноль, предел устанавливается в емкость, и метка отбрасывается.

Вызовите этот метод перед использованием последовательности операций чтения канала или операций put для заполнения этого буфера. Например:

    buf.clear();     // Prepare buffer for reading
    in.read(buf);    // Read data

Этот метод фактически не стирает данные в буфере, но его название как будто так, потому что он чаще всего используется в ситуациях, в которых так или иначе необходимо.

Переопределяет:
clear в классе Buffer
Возвращает:
Этот буфер
С:
9

flip

public final ShortBuffer flip()
Переворачивает этот буфер. Предел устанавливается в текущую позицию, а затем позиция устанавливается в ноль. Если метка определена, она отбрасывается.

После последовательности операций чтения канала или операций put вызовите этот метод, чтобы подготовиться к последовательности операций записи канала или относительных операций get. Например:

    buf.put(magic);    // Prepend header
    in.read(buf);      // Read data into rest of buffer
    buf.flip();        // Flip buffer
    out.write(buf);    // Write header + data to channel

Этот метод часто используется в сочетании с методом compact при передаче данных из одного места в другое.

Переопределяет:
flip в классе Buffer
Возвращает:
Этот буфер
С:
9

rewind

public final ShortBuffer rewind()
Перематывает этот буфер. Позиция устанавливается в ноль, и метка отбрасывается.

Вызовите этот метод перед последовательностью операций записи канала или операций get, предполагая, что предел уже установлен должным образом. Например:

    out.write(buf);    // Write remaining data
    buf.rewind();      // Rewind buffer
    buf.get(array);    // Copy data into array
Переопределяет:
rewind в классе Buffer
Возвращает:
Этот буфер
С:
9

compact

public abstract ShortBuffer compact()
Сжимает этот буфер (необязательная операция).

Короткие целые числа между текущей позицией буфера и его пределом (если таковые имеются) копируются в начало буфера. То есть, короткое целое число с индексом p = position() копируется в индекс ноль, короткое целое число с индексом p + 1 копируется в индекс один, и так далее, пока короткое целое число с индексом limit() - 1 не будет скопировано в индекс n = limit() - 1 - p. Позиция буфера затем устанавливается в n+1, а его предел устанавливается в его емкость. Метка, если определена, отбрасывается.

Позиция буфера устанавливается в число скопированных коротких целых чисел, а не в ноль, чтобы вызов этого метода мог сразу последовать за вызовом другого относительного метода put.

Возвращает:
Этот буфер
Исключения:
ReadOnlyBufferException - Если этот буфер является только для чтения

isDirect

public abstract boolean isDirect()
Определяет, является ли этот буфер коротких целых чисел прямым.
Определено в:
isDirect в классе Buffer
Возвращает:
true если, и только если, этот буфер является прямым

toString

public String toString()
Возвращает строку, обобщающую состояние этого буфера.
Переопределяет:
toString в классе Object
Возвращает:
Строка сводки

hashCode

public int hashCode()
Возвращает текущий хэш-код этого буфера.

Хэш-код буфера коротких целых чисел зависит только от оставшихся элементов; то есть от элементов от position() до, и включая, элемент в limit() - 1.

Поскольку хэш-коды буферов зависят от содержимого, не рекомендуется использовать буферы в качестве ключей в хэш-картах или аналогичных структурах данных, если не известно, что их содержимое не будет меняться.

Переопределяет:
hashCode в классе Object
Возвращает:
Текущий хэш-код этого буфера
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object ob)
Определяет, равен ли этот буфер другому объекту.

Два буфера коротких целых чисел равны тогда и только тогда, когда

  1. Они имеют одинаковый тип элементов,

  2. Они имеют одинаковое количество оставшихся элементов, и

  3. Две последовательности оставшихся элементов, рассматриваемые независимо от своих начальных позиций, точечно равны.

Буфер коротких целых чисел не равен никакому другому типу объекта.

Переопределяет:
equals в классе Object
Параметры:
ob - Объект, с которым должен быть сравнен этот буфер
Возвращает:
true если, и только если, этот буфер равен заданному объекту
См. также:
  • Object.hashCode()
  • HashMap

compareTo

public int compareTo(ShortBuffer that)
Сравнивает этот буфер с другим.

Два буфера short сравниваются путём лексикографического сравнения их последовательностей оставшихся элементов, не обращая внимания на начальную позицию каждой последовательности в соответствующем буфере. Пары элементов short сравниваются так, как если бы вызывался метод Short.compare(short,short).

Буфер short не может быть сравнен ни с каким другим типом объекта.

Определено в:
compareTo в интерфейсе Comparable<ShortBuffer>
Параметры:
that - объект для сравнения.
Возвращает:
Отрицательное число, ноль или положительное число, в зависимости от того, меньше ли, равен ли или больше ли этот буфер заданному буферу

mismatch

public int mismatch(ShortBuffer that)
Находит и возвращает относительный индекс первого несовпадения между этим буфером и заданным буфером. Индекс относителен к position каждого буфера и будет в диапазоне от 0 (включительно) до меньшего из remaining элементов в каждом буфере (исключительно).

Если два буфера имеют общую префиксную часть, то возвращаемый индекс равен длине общего префикса, а это означает, что несовпадение между двумя буферами происходит на этом индексе в соответствующих буферах. Если один буфер является правильным префиксом другого, то возвращаемый индекс равен меньшему из оставшихся элементов в каждом буфере, и это означает, что индекс действителен только для буфера с большим количеством оставшихся элементов. В противном случае несовпадений нет.

Параметры:
that - Буфер байтов, который нужно проверить на несовпадение с этим буфером
Возвращает:
Относительный индекс первого несовпадения между этим и заданным буфером, в противном случае -1, если несовпадений нет.
С:
11

order

public abstract ByteOrder order()
Возвращает порядок байтов этого буфера.

Порядок байтов буфера short, созданного путём выделения памяти или обёртки существующего массива short, соответствует порядку байтов native order базового оборудования. Порядок байтов буфера short, созданного как вид буфера байтов, соответствует порядку байтов буфера байтов в момент создания вида.

Возвращает:
Порядок байтов этого буфера

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/ShortBuffer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API