InfBuffer
is a class in Java that is defined inside the java.nio
package. The java.nio
package defines buffers, which are a chunk of readable and writeable memory that can be used to easily communicate over NIO channels. There are many types of buffers in the java.nio
package, including IntBuffer
. It is similar to arrays of different data types with different sizes.
The class IntBuffer
allows for various operations, which are as follows:
The get
method is used to return the integer at the current position and increase the current position by one. The prototype of the get
method in the IntBuffer
class is as follows:
public abstract int get()
However, another version of the get
method is used to get an element from the buffer from a certain index. The prototype for this function is as follows:
public abstract int get(int index)
There is no mandatory parameter for the get
method. However, the BufferUnderflowException
is raised if the current position is not less than the limit.
However, if one wishes to get the element from an index, the parameter will be the index number we wish to retrieve the integer from. IndexOutOfBoundsException
is raised when the index is too big or small compared to the capacity of the buffer.
The get()
method returns the integer at the current position.
On the other hand, the get(int index)
method returns the index at that index.
The following example will help you understand the get
method better. First, we create a buffer and put elements in it using the put
method. However, as the put
method adds to the current position, we use the clear
method to reset the current position to 0. Without using clear
, we would get a BufferUnderflowException
. Then, we use the get
method to get the element from the current position as well at index 0, which are both the same elements. We print and compare the two to see that we are getting the correct results.
import java.nio.*;import java.util.*;public class main{public static void main(String[] args){int cap = 3;IntBuffer buffer = IntBuffer.allocate(cap);buffer.put(2);buffer.put(3);buffer.put(4);System.out.println("Printing the buffer: "+ Arrays.toString(buffer.array()));buffer.clear();int i = buffer.get();System.out.println("Current position: " + i);int j = buffer.get(0);System.out.println("Value at index 0: " + j);}}
Free Resources