LongBuffer. All implementations are
backed by a BigByteBuffer. "Small" refers to the fact that these
buffers are indexed by ints rather than longs.
Differences from LongBuffer include:
- mark and reset are not supported
- read-only is not supported
- byte order is preserved in
duplicate()andslice().
-
Method Summary
Modifier and TypeMethodDescriptionCreates a new buffer that shares this buffer's content.longget()Relative get method.longget(int index) Absolute get method.put(int index, long value) Absolute put methodput(long value) Relative put methodfinal SmallLongBufferput(long[] src) Relative bulk put methodput(LongBuffer src) Relative bulk put methodput(SmallLongBuffer src) Relative bulk put methodslice()Creates a new buffer whose content is a shared subsequence of this buffer's content.toString()
-
Method Details
-
put
Relative put methodWrites the given long into this buffer at the current position, and then increments the position.
- Parameters:
value- The long to be written- Returns:
- This buffer
- Throws:
BufferOverflowException- If this buffer's current position is not smaller than its limit
-
put
Absolute put methodWrites the given long into this buffer at the given index.
- Parameters:
index- The index at which the long will be writtenvalue- The long value to be written- Returns:
- This buffer
- Throws:
IndexOutOfBoundsException- Ifindexis negative or not smaller than the buffer's limit
-
put
Relative bulk put methodThis method transfers the entire content of the given source Long array into this buffer.
- Parameters:
src- The source array- Returns:
- This buffer
- Throws:
BufferOverflowException- If there is insufficient space in this buffer
-
put
Relative bulk put methodThis method transfers the longs remaining in the given source buffer into this buffer. If there are more longs remaining in the source buffer than in this buffer, that is, if
src.remaining()>remaining(), then no shorts are transferred and aBufferOverflowExceptionis thrown.Otherwise, this method copies n =
src.remaining()longs from the given buffer into this buffer, starting at each buffer's current position. The positions of both buffers are then incremented by n.In other words, an invocation of this method of the form
dst.put(src)has exactly the same effect as the loopwhile (src.hasRemaining()) dst.put(src.get());except that it first checks that there is sufficient space in this buffer and it is potentially much more efficient. If this buffer and the source buffer share the same backing array or memory, then the result will be as if the source elements were first copied to an intermediate location before being written into this buffer.- Parameters:
src- The source buffer from which longs are to be read; must not be this buffer- Returns:
- This buffer
- Throws:
BufferOverflowException- If there is insufficient space in this buffer for the remaining longs in the source buffer
-
put
Relative bulk put methodThis method transfers the longs remaining in the given source buffer into this buffer. If there are more longs remaining in the source buffer than in this buffer, that is, if
src.remaining()>remaining(), then no shorts are transferred and aBufferOverflowExceptionis thrown.Otherwise, this method copies n =
src.remaining()longs from the given buffer into this buffer, starting at each buffer's current position. The positions of both buffers are then incremented by n.In other words, an invocation of this method of the form
dst.put(src)has exactly the same effect as the loopwhile (src.hasRemaining()) dst.put(src.get());except that it first checks that there is sufficient space in this buffer and it is potentially much more efficient. If this buffer and the source buffer share the same backing array or memory, then the result will be as if the source elements were first copied to an intermediate location before being written into this buffer.- Parameters:
src- The source buffer from which longs are to be read; must not be this buffer- Returns:
- This buffer
- Throws:
BufferOverflowException- If there is insufficient space in this buffer for the remaining longs in the source buffer
-
get
public long get()Relative get method. Reads the long at this buffer's current position, and then increments the position.- Returns:
- The long at the buffer's current position
- Throws:
BufferUnderflowException- If the buffer's current position is not smaller than its limit
-
get
public long get(int index) Absolute get method. Reads the long at the given index.- Parameters:
index- The index from which the long will be read- Returns:
- The long at the given index
- Throws:
IndexOutOfBoundsException- Ifindexis negative or not smaller than the buffer's limit
-
duplicate
Description copied from class:SmallBufferCreates a new buffer that shares this buffer's content.The content of the new buffer will be that of this buffer. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position and limit values will be independent.
The new buffer's capacity, limit, position, and byte order values will be identical to those of this buffer. The new buffer will be direct if, and only if, this buffer is direct.
- Specified by:
duplicatein classSmallBuffer- Returns:
- The new buffer
-
slice
Description copied from class:SmallBufferCreates a new buffer whose content is a shared subsequence of this buffer's content.The content of the new buffer will start at this buffer's current position. Changes to this buffer's content will be visible in the new buffer, and vice versa; the two buffers' position and limit values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of elements remaining in this buffer, and the byte order will be the same as this buffer. The new buffer will be direct if, and only if, this buffer is direct.
- Specified by:
slicein classSmallBuffer- Returns:
- The new buffer
-
toString
-