Clase java.nio.FloatBuffer en Java

Un objeto de búfer se puede denominar como un contenedor para una cantidad fija de datos. El búfer actúa como una caja de almacenamiento, o un área de preparación temporal, donde los datos se pueden almacenar y luego recuperar de acuerdo con el uso. Las clases de Java Buffer son la base sobre la que se construye java.nio. Los búfer flotantes se crean mediante asignación, que asigna espacio para el contenido del búfer, envolviendo una array flotante existente en un búfer o creando una vista de un búfer de bytes existente.

Esta clase define cuatro categorías de operaciones en los búfer flotantes:

  • Métodos get y put absolutos y relativos que leen y escriben flotantes individuales
  • Métodos de obtención de volumen relativo que transfieren secuencias contiguas de flotantes desde este búfer a una array; y
  • Métodos de colocación masiva relativa que transfieren secuencias contiguas de flotantes desde una array flotante o algún otro búfer flotante a este búfer
  • Métodos para compactar, duplicar y dividir un búfer flotante.
MÉTODOS DESCRIPCIÓN

asignar (capacidad int)

Este método asigna un nuevo búfer flotante.

formación()

Este método devuelve la array flotante que respalda este búfer  

arrayDesplazamiento()

Este método devuelve el desplazamiento dentro de la array de respaldo de este búfer del primer elemento del búfer 

comoReadOnlyBuffer()

Este método crea un nuevo búfer flotante de solo lectura que comparte el contenido de este búfer.

compacto()

Este método compacta este búfer

compareTo(FloatBuffer eso)

Este método compara este búfer con otro.

duplicar()

Este método crea un nuevo búfer flotante que comparte el contenido de este búfer.

es igual a (Objeto ob)

Este método indica si este búfer es igual a otro objeto.

obtener()

Este método relativo obtiene el método.

obtener (flotante [] dst)

Este método de obtención masiva relativa.

get(float[] dst, int offset, int longitud)

Este método de obtención masiva relativa.

obtener (índice int)

Este método método de obtención absoluta.

tieneArray()

Este método indica si este búfer está respaldado por una array flotante accesible.

código hash()

Este método devuelve el código hash actual de este búfer.

esDirecto()

Este método indica si este búfer flotante es directo.

ordenar()

Este método recupera el orden de bytes de este búfer.

poner (flotante f)

Este método método put relativo

poner (flotante [] src)

Este método método de venta masiva relativa 

put(float[] src, int offset, int longitud)

Este método método de venta masiva relativa 

poner (FloatBuffer src)

Método de venta masiva relativa

put(índice int, float f)

Método de venta absoluta 

rodaja()

Crea un nuevo búfer flotante cuyo contenido es una subsecuencia compartida del contenido de este búfer.

Enstringr()

Este método devuelve una string que resume el estado de este búfer.

envolver (array flotante [])

Este método envuelve una array flotante en un búfer.

envolver (array flotante [], desplazamiento int, longitud int)

Este método envuelve una array flotante en un búfer.

A continuación se muestra la implementación de algunos métodos de java.nio.FloatBuffer Class:

1. reset(): este método se utiliza para restablecer la posición de este búfer a una posición que se marcó previamente.

Syntax: public final FloatBuffer reset()
Parameters: None
Return: Returns the buffer.

Java

// Implementation of reset() method in Java
  
import java.nio.*;
import java.util.*;
  
public class Example {
  
    public static void main(String[] args)
    {
  
        try {
  
            float[] arr = { 10.5f, 20.5f, 30.5f, 40.5f };
  
            // creating object of FloatBuffer
            // and allocating size capacity
            FloatBuffer x = FloatBuffer.wrap(arr);
  
            // try to set the position at index 2
            x.position(2);
  
            // Set this buffer mark position
            // using mark() method
            x.mark();
  
            // try to set the position at index 4
            x.position(4);
  
            // display position
            System.out.println("Pos before reset: "
                               + x.position());
  
            // try to call reset() to restore
            // to the position we marked
            x.reset();
  
            // display position
            System.out.println("Pos after reset: "
                               + x.position());
        }
  
        catch (InvalidMarkException e) {
            System.out.println("New pos is less than "
                               + "the pos "
                               + " marked before ");
            System.out.println("Exception throws: " + e);
        }
    }
}
Producción

Pos before reset: 4
Pos after reset: 2

2. rewind(): este método se utiliza para rebobinar este búfer.

Syntax: public final FloatBuffer rewind()
Parameters: None
Return: Returns the buffer

Java

// Implementation of rewind() method in Java
  
import java.nio.*;
import java.util.*;
  
public class Example2 {
    public static void main(String[] args)
    {
        // defining and allocating FloatBuffer
        // using allocate() method
        FloatBuffer x = FloatBuffer.allocate(4);
  
        // put char value in FloatBuffer
        // using put() method
        x.put(10.5f);
        x.put(20.5f);
  
        // print the float buffer
        System.out.println("Buffer before operation: "
                           + Arrays.toString(x.array())
                           + "\nPosition: " + x.position()
                           + "\nLimit: " + x.limit());
  
        // rewind the Buffer
        // using rewind() method
        x.rewind();
  
        // print the floatbuffer
        System.out.println("\nBuffer after operation: "
                           + Arrays.toString(x.array())
                           + "\nPosition: " + x.position()
                           + "\nLimit: " + x.limit());
    }
}
Producción

Buffer before operation: [10.5, 20.5, 0.0, 0.0]
Position: 2
Limit: 4

Buffer after operation: [10.5, 20.5, 0.0, 0.0]
Position: 0
Limit: 4

Publicación traducida automáticamente

Artículo escrito por mayanktyagi1709 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *