LongBuffer put(int, long[], int, int) in Java

put(int, long[], int, int): This method is available in java.nio.LongBuffer class of Java.

Syntax:

LongBuffer java.nio.LongBuffer.put(int index, long[] src, int offset, int length)

This method takes four arguments three of type int and one of type long array as its parameters. This method transfers length longs from the given array, starting at the given offset in the array and at the given index in this buffer.

Parameters: Four parameters are required for this method.

index: The index in this buffer at which the first long will be written; must be non-negative and less than limit().

src: The array from which longs are to be read.

offset: The offset within the array of the first long to be read; must be non-negative and less than src.length

length: The number of longs 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.LongBuffer;

public class LongBufferput7 {
    public static void main(String[] args) {

        long array[] = { 1, 2, 3, 4 };
        LongBuffer lb = LongBuffer.wrap(array);

        int offset = 0;
        int length = 2;
        int index = 0;
        long src[] = { 2, 3, 4, 5, 6 };
        System.out.println(lb.put(index, src, offset, length));

    }
}

Output:

java.nio.HeapLongBuffer[pos=0 lim=4 cap=4]


Approach 2: IndexOutOfBoundsException 

Java

import java.nio.LongBuffer;

public class LongBufferput7 {
    public static void main(String[] args) {

        long array[] = { 1, 2, 3, 4 };
        LongBuffer lb = LongBuffer.wrap(array);

        int offset = 0;
        int length = 2;
        int index = 5;
        long src[] = { 2, 3, 4, 5, 6 };
        System.out.println(lb.put(index, src, offset, length));

    }
}


Output:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Range [5, 5 + 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.HeapLongBuffer.put(HeapLongBuffer.java:257)



Approach 3: ReadOnlyBufferException 

Java

import java.nio.LongBuffer;

public class LongBufferput7 {
    public static void main(String[] args) {

        long array[] = { 1, 2, 3, 4 };
        LongBuffer lb = LongBuffer.wrap(array);

        int offset = 0;
        int length = 2;
        int index = 0;
        long src[] = { 2, 3, 4, 5, 6 };

        LongBuffer 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.HeapLongBufferR.put(HeapLongBufferR.java:262)


Some more put Methods.


put(long)


put(long[])


put(LongBuffer)


put(int, long)


put(int, long[])


put(long[], int, int)


No comments:

Post a Comment