put(int, int[], int, int): This method is available in java.nio.IntBuffer class of Java.
Syntax:
IntBuffer java.nio.IntBuffer.put(int index, int[] src, int offset, int length)
This method takes four arguments one of type int array and the other three are of type int as its parameters. This method transfers length ints from the given array, starting at the given offset in the array and at the given index in this buffer.
Note: The position of this buffer is unchanged.
Parameters: Four parameters are required for this method.
index: The index in this buffer at which the first int will be written; must be non-negative and less than the limit().
src: The array from which ints are to be read.
offset: The offset within the array of the first int to be read; must be non-negative and less than src.length.
length: The number of ints to be read from the given array; must be non-negative and no larger than the smaller of limit() - index and src.length - offset.
Returns: This buffer.
Throws:
1. IndexOutOfBoundsException - If the preconditions on the index, offset, and length parameters do not hold.
2. ReadOnlyBufferException - If this buffer is read-only.
Approach 1: When no exceptions
Java
import java.nio.IntBuffer;public class IntBufferput7 {public static void main(String[] args) {int array[] = { 1, 2, 3, 4 };IntBuffer lb = IntBuffer.wrap(array);int offset = 0;int length = 2;int index = 0;int src[] = { 2, 3, 4, 5, 6 };System.out.println(lb.put(index, src, offset, length));}}
Output:
java.nio.HeapIntBuffer[pos=0 lim=4 cap=4]
Approach 2: IndexOutOfBoundsException
Java
import java.nio.IntBuffer;public class IntBufferput7 {public static void main(String[] args) {int array[] = { 1, 2, 3, 4 };IntBuffer lb = IntBuffer.wrap(array);int offset = 0;int length = 2;int index = 3;int src[] = { 2, 3, 4, 5, 6 };System.out.println(lb.put(index, src, offset, length));}}
Output:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Range [3, 3 + 2) out of bounds for length 4 at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromIndexSize(Preconditions.java:82) at java.base/jdk.internal.util.Preconditions.checkFromIndexSize(Preconditions.java:343) at java.base/java.util.Objects.checkFromIndexSize(Objects.java:411) at java.base/java.nio.HeapIntBuffer.put(HeapIntBuffer.java:257)
Approach 3: ReadOnlyBufferException
Java
import java.nio.IntBuffer;public class IntBufferput7 {public static void main(String[] args) {int array[] = { 1, 2, 3, 4 };IntBuffer lb = IntBuffer.wrap(array);int offset = 0;int length = 2;int index = 0;int src[] = { 2, 3, 4, 5, 6 };IntBuffer readOnly = lb.asReadOnlyBuffer();System.out.println(readOnly.put(index, src, offset, length));}}
Output:
Exception in thread "main" java.nio.ReadOnlyBufferException at java.base/java.nio.HeapIntBufferR.put(HeapIntBufferR.java:262)
No comments:
Post a Comment