The flip() method of java.nio.DoubleBuffer Class is used to flip this buffer. By flipping this buffer, it meant that the buffer will be trimmed to the current position and then the position will be changed to zero. During this process, if any mark is there on the buffer, then that mark will be automatically discarded.
Syntax:
public final DoubleBuffer flip()
Return Value: This method returns the flipped DoubleBuffer instance.
Below are the examples to illustrate the flip() method:
Examples 1:
Java
// Java program to demonstrate // flip() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declare and initialize // the double array double [] db = { 10.56 , 20.34 , 30.78 }; // wrap the double array // into DoubleBuffer // using wrap() method DoubleBuffer doubleBuffer = DoubleBuffer.wrap(db); // set position at index 1 doubleBuffer.position( 1 ); // print the buffer System.out.println( "Buffer before flip: " + Arrays.toString( doubleBuffer.array()) + "\nPosition: " + doubleBuffer.position() + "\nLimit: " + doubleBuffer.limit()); // Flip the Buffer // using flip() method doubleBuffer.flip(); // print the buffer System.out.println( "\nBuffer after flip: " + Arrays.toString( doubleBuffer.array()) + "\nPosition: " + doubleBuffer.position() + "\nLimit: " + doubleBuffer.limit()); } } |
Buffer before flip: [10.56, 20.34, 30.78] Position: 1 Limit: 3 Buffer after flip: [10.56, 20.34, 30.78] Position: 0 Limit: 1
Examples 2:
Java
// Java program to demonstrate // flip() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // defining and allocating DoubleBuffer // using allocate() method DoubleBuffer doubleBuffer = DoubleBuffer.allocate( 4 ); // put double value in DoubleBuffer // using put() method doubleBuffer.put( 20.4 ); doubleBuffer.put( 34.5 ); // set position at index 1 doubleBuffer.position( 1 ); // print the buffer System.out.println( "Buffer before flip: " + Arrays.toString( doubleBuffer.array()) + "\nPosition: " + doubleBuffer.position() + "\nLimit: " + doubleBuffer.limit()); // Flip the Buffer // using flip() method doubleBuffer.flip(); // print the buffer System.out.println( "\nBuffer after flip: " + Arrays.toString( doubleBuffer.array()) + "\nPosition: " + doubleBuffer.position() + "\nLimit: " + doubleBuffer.limit()); } } |
Buffer before flip: [20.4, 34.5, 0.0, 0.0] Position: 1 Limit: 4 Buffer after flip: [20.4, 34.5, 0.0, 0.0] Position: 0 Limit: 1
Reference: https://docs.oracle.com/javase/9/docs/api/java/nio/DoubleBuffer.html#flip–