IntBuffer array() method in Java
Last Updated :
19 Sep, 2018
The
array() method of
java.nio.IntBuffer Class is used to Return the int array that backs this buffer. Modifications to this buffer's content will cause the returned array's content to be modified, and vice versa. Invoke() the hasArray() method are used before invoking this method in order to ensure that this buffer has an accessible backing array
Syntax:
public final int[] array()
Return Value: This method returns the
array that backs this buffer.
Exception: This method throws the
ReadOnlyBufferException(If this buffer is backed by an array but is read-only)
Below program illustrates the
array() method:
Examples 1:
Java
// Java program to demonstrate
// array() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the IntBuffer
int capacity = 10;
// Creating the IntBuffer
try {
// creating object of Intbuffer
// and allocating size capacity
IntBuffer ib = IntBuffer.allocate(capacity);
// putting the value in Intbuffer
ib.put(7);
ib.put(2, 6);
ib.rewind();
// getting array from ib IntBuffer using array() method
int[] ibb = ib.array();
// printing the IntBuffer ib
System.out.println("IntBuffer: "
+ Arrays.toString(ibb));
}
catch (IllegalArgumentException e) {
System.out.println("IllegalArgumentException catched");
}
catch (ReadOnlyBufferException e) {
System.out.println("ReadOnlyBufferException catched");
}
}
}
Output:
IntBuffer: [7, 0, 6, 0, 0, 0, 0, 0, 0, 0]
Examples 2:
Java
// Java program to demonstrate
// array() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the ib
int capacity1 = 10;
// Declaring the capacity of the ib1
int capacity2 = 5;
// Creating the IntBuffer
try {
//
// ib
//
// creating object of Intbuffer ib
// and allocating size capacity
IntBuffer ib = IntBuffer.allocate(capacity1);
// putting the value in ib
ib.put(7);
ib.put(2, 6);
ib.put(3, 7);
ib.rewind();
// print the IntBuffer
System.out.println("IntBuffer ib: "
+ Arrays.toString(ib.array()));
//
// ib1
//
// creating object of Intbuffer ib1
// and allocating size capacity
IntBuffer ib1 = IntBuffer.allocate(capacity2);
// putting the value in ib1
ib1.put(1, 4);
ib1.put(2, 6);
ib1.rewind();
// print the IntBuffer
System.out.println("\nIntBuffer ib1: "
+ Arrays.toString(ib1.array()));
// Creating a read-only copy of IntBuffer
// using asReadOnlyBuffer() method
IntBuffer readOnlyib = ib.asReadOnlyBuffer();
// print the IntBuffer
System.out.print("\nReadOnlyBuffer IntBuffer: ");
while (readOnlyib.hasRemaining())
System.out.print(readOnlyib.get() + ", ");
// try to change readOnlyib
System.out.println("\n\nTrying to get the array"
+ " from ReadOnlyib for editing");
int[] ibarr = readOnlyib.array();
}
catch (IllegalArgumentException e) {
System.out.println("IllegalArgumentException catched");
}
catch (ReadOnlyBufferException e) {
System.out.println("Exception thrown: " + e);
}
}
}
Output:
IntBuffer ib: [7, 0, 6, 7, 0, 0, 0, 0, 0, 0]
IntBuffer ib1: [0, 4, 6, 0, 0]
ReadOnlyBuffer IntBuffer: 7, 0, 6, 7, 0, 0, 0, 0, 0, 0,
Trying to get the array from ReadOnlyib for editing
Exception thrown: java.nio.ReadOnlyBufferException
Similar Reads
IntBuffer hasArray() method in Java The hasArray() method of java.nio.IntBuffer class is used to ensure whether or not the given buffer is backed by an accessible int array. It returns true if there is an accessible backing array to this buffer, else it returns false. If this method returns true, then the array() and arrayOffset() met
2 min read
IntBuffer arrayOffset() method in Java The arrayOffset() method of java.nio.IntBuffer class is used to return the offset within the buffer's backing array of the first element of the buffer. It means that if this buffer is backed by an array, then buffer position p corresponds to array index p + arrayOffset(). Inorder to check whether th
3 min read
IntBuffer allocate() method in Java The allocate() method of java.nio.IntBuffer Class is used to allocate a new int buffer next to the existing buffer. The new buffer's position will be zero. Its limit will be its capacity. Its mark will be undefined. And each of its elements will be initialized to zero. It will have a backing array,
2 min read
IntBuffer equals() method in Java The equals() method of java.nio.IntBuffer Class is used to check whether or not the given buffer is equal to another object. Two int buffers are equal if, and only if, They have the same element type, They have the same number of remaining elements, and The two sequences of remaining elements, consi
4 min read
IntBuffer compareTo() method in Java The compareTo() method of java.nio.IntBuffer class is used to compare one buffer to another. Two int buffers are compared by comparing their sequences of remaining elements lexicographically, without regard to the starting position of each sequence within its corresponding buffer. Pairs of int eleme
4 min read