LongBuffer slice() method in Java
Last Updated :
04 Jul, 2022
The slice() method of java.nio.LongBuffer Class is used to creates a new Long buffer whose content is a shared subsequence of the given 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, limit, and mark values will be independent.
The new buffer's position will be zero, its capacity and its limit will be the number of Long integers remaining in this buffer, and its mark will be undefined. The new buffer will be direct if, and only if, this buffer is direct, and it will be read-only if, and only if, this buffer is read-only.
Syntax :
public abstract LongBuffer slice()
Return Value: This method returns the new Long buffer.
Below are the examples to illustrate the slice() method:
Example 1:
Java
// Java program to demonstrate
// slice() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the LongBuffer
int capacity = 10;
// Creating the LongBuffer
try {
// creating object of Longbuffer
// and allocating size capacity
LongBuffer ib1 = LongBuffer.allocate(capacity);
// putting the value in Longbuffer
ib1.put(8);
ib1.put(9);
// prLong the LongBuffer
System.out.println("Original LongBuffer: "
+ Arrays.toString(ib1.array()));
// prLong the LongBuffer position
System.out.println("position: " + ib1.position());
// prLong the LongBuffer capacity
System.out.println("capacity: " + ib1.capacity());
// Creating a shared subsequence buffer of given LongBuffer
// using slice() method
LongBuffer ib2 = ib1.slice();
// prLong the shared subsequence buffer
System.out.println("shared subsequence LongBuffer: "
+ Arrays.toString(ib2.array()));
// prLong the LongBuffer position
System.out.println("position: " + ib2.position());
// prLong the LongBuffer capacity
System.out.println("capacity: " + ib2.capacity());
}
catch (IllegalArgumentException e) {
System.out.println("IllegalArgumentException catched");
}
catch (ReadOnlyBufferException e) {
System.out.println("ReadOnlyBufferException catched");
}
}
}
OutputOriginal LongBuffer: [8, 9, 0, 0, 0, 0, 0, 0, 0, 0]
position: 2
capacity: 10
shared subsequence LongBuffer: [8, 9, 0, 0, 0, 0, 0, 0, 0, 0]
position: 0
capacity: 8
Example 2:
Java
// Java program to demonstrate
// slice() method
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the LongBuffer
int capacity = 10;
// Creating the LongBuffer
try {
// creating object of Longbuffer
// and allocating size capacity
LongBuffer ib1 = LongBuffer.allocate(capacity);
// putting the value in floatbuffer
ib1.put(8);
ib1.put(9);
ib1.put(5);
ib1.put(3);
// prLong the LongBuffer
System.out.println("Original LongBuffer: "
+ Arrays.toString(ib1.array()));
// prLong the LongBuffer position
System.out.println("position: " + ib1.position());
// prLong the LongBuffer capacity
System.out.println("capacity: " + ib1.capacity());
// Creating a shared subsequence buffer of given LongBuffer
// using slice() method
LongBuffer ib2 = ib1.slice();
ib2.put(2);
ib2.put(6);
// prLong the shared subsequence buffer
System.out.println("shared subsequence LongBuffer: "
+ Arrays.toString(ib2.array()));
// prLong the LongBuffer position
System.out.println("position: " + ib2.position());
// prLong the LongBuffer capacity
System.out.println("capacity: " + ib2.capacity());
}
catch (IllegalArgumentException e) {
System.out.println("IllegalArgumentException catched");
}
catch (ReadOnlyBufferException e) {
System.out.println("ReadOnlyBufferException catched");
}
}
}
OutputOriginal LongBuffer: [8, 9, 5, 3, 0, 0, 0, 0, 0, 0]
position: 4
capacity: 10
shared subsequence LongBuffer: [8, 9, 5, 3, 2, 6, 0, 0, 0, 0]
position: 2
capacity: 6
Similar Reads
LongBuffer wrap() method in Java
wrap(Long[] array) The wrap() method of java.nio.LongBuffer Class is used to wrap a Long array, Longo, a buffer. The new buffer will be backed by the given Long array; that is, modifications to the buffer will cause the array to be modified and vice versa. The new buffer's capacity and limit will be
4 min read
LongBuffer get() methods in Java
get() The get() method of java.nio.LongBuffer Class is used to read the Long at the given buffer's current position, and then increment the position. Syntax : public abstract Long get() Return Value: This method returns the Long value at the buffer's current position. Throws: This method throws Buff
5 min read
LongBuffer put() methods in Java
put(Long i) The put(Long i) method of java.nio.LongBuffer Class is used to write the given Long value into the newly created Long buffer at the current position, and then increments the position. Syntax: public abstract LongBuffer put(Long i) Parameters: This method takes the Long value i as a param
6 min read
LongBuffer equals() method in Java
The equals() method of java.nio.LongBuffer Class is used to check whether or not the given buffer is equal to another object. Two Long 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, con
4 min read
LongBuffer compact() method in Java
The compact() method of java.nio.LongBuffer Class is used to compact the given buffer. The values between the buffer's current position and its limit are copied to the beginning of the buffer. The buffer's position is then set to n+1 and its limit is set to its capacity. The buffer's position is set
3 min read
LongBuffer hasArray() method in Java
The array() method of java.nio.LongBuffer Class is used to Return the Long 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 ensu
2 min read
LongBuffer allocate() method in Java
The allocate() method of java.nio.LongBuffer Class is used to allocate a new Long 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
LongBuffer duplicate() method in Java
The duplicate() method of java.nio.LongBuffer Class is used to Create a new Long buffer that shares the given buffer's content. Syntax: public abstract LongBuffer duplicate() Return Value: This method returns the new Long buffer which is carrying the previous Long buffer content Below are the exampl
3 min read
IntBuffer slice() method in Java
The slice() method of java.nio.IntBuffer Class is used to creates a new int buffer whose content is a shared subsequence of the given 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
3 min read
LongBuffer arrayOffset() method in Java
The arrayOffset() method of java.nio.LongBuffer 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(). In order to check whether
3 min read