What is the FloatBuffer put() method in Java?

java.nio.FloatBuffer is a class we can use to store a buffer of floating-point values. The put() method of the class java.nio.FloatBuffer writes a floating-point value to a buffer. The FloatBuffer.put() method writes the floating-point value at the current positionThe index of the next element of the buffer that will be read or written of the buffer and increments the position by one.

Declaration

The FloatBuffer.put() method can be declared as follows:

buff1.put(x);
  • buff1: The FloatBuffer in which the floating-point value x will be written.
  • x: The floating-point value that will be written to buff1.

Return value

The FloatBuffer.put() method returns the FloatBuffer buff1 after writing the floating-point value x to it.

Note:

  • If the position of buff1 is not less than the limitThe first index of the buffer that should not be read or written of buff1, the BufferOverflowException is thrown.
  • If buff1 is read-only, the ReadOnlyBufferException is thrown.

Code

Example 1

Consider the code snippet below, which demonstrates the use of the FloatBuffer.put() method:

import java.nio.*;
import java.util.*;
public class main {
public static void main(String[] args) {
int n1 = 5;
int n2 = 4;
try {
FloatBuffer buff1 = FloatBuffer.allocate(n1);
buff1.put(1.2F);
buff1.put(5.9F);
System.out.println("buff1: " + Arrays.toString(buff1.array()));
System.out.println("position: " + buff1.position());
} catch (IllegalArgumentException e) {
System.out.println("Error!!! IllegalArgumentException");
} catch (ReadOnlyBufferException e) {
System.out.println("Error!!! ReadOnlyBufferException");
}
}
}

Explanation

  • A FloatBuffer buff1 is declared in line 8.
  • An element is written to buff1 using the FloatBuffer.put() method in line 9. After adding the first element, the position of buff1 is incremented from 0 to 1.
  • Another element is written to buff1 using the FloatBuffer.put() method in line 10. After adding the second element, the position of buff1 is incremented from 1 to 2.

Example 2

As explained above, using the FloatBuffer.put() method on a read-only buffer throws the ReadOnlyBufferException. Consider the code snippet below which demonstrates this:

import java.nio.*;
import java.util.*;
public class main {
public static void main(String[] args) {
int n1 = 5;
int n2 = 4;
try {
FloatBuffer buff1 = FloatBuffer.allocate(n1);
FloatBuffer buff2 = buff1.asReadOnlyBuffer();
buff2.put(1.2F);
buff2.put(5.9F);
System.out.println("buff2: " + Arrays.toString(buff2.array()));
System.out.println("position: " + buff2.position());
} catch (IllegalArgumentException e) {
System.out.println("Error!!! IllegalArgumentException");
} catch (ReadOnlyBufferException e) {
System.out.println("Error!!! ReadOnlyBufferException");
}
}
}

Explanation

  • A FloatBuffer buff1 is declared in line 8.
  • A FloatBuffer buff2 is declared in line 10 that is the read-only copy of buff1.
  • The FloatBuffer.put() method is used in line 11 which tries writing a value to buff2. The ReadOnlyBufferException is thrown because buff2 is read-only and cannot be modified.
Copyright ©2024 Educative, Inc. All rights reserved