Clase java.nio.DoubleBuffer en Java

DoubleBuffer contiene una secuencia de valores dobles que se utilizarán en una operación de E/S. La clase DoubleBuffer proporciona las siguientes cuatro categorías de operaciones en búferes largos:

  • Método de obtención absoluto y relativo que lee dobles simples.
  • Métodos put absolutos y relativos que escriben dobles simples.
  • Métodos put y get masivos relativos que transfieren secuencias contiguas de dobles desde una array int o algún otro búfer de dobles a este búfer y de este búfer a una array.

Los búferes cortos se pueden crear mediante:

  • allocate(): Esto asigna espacio para el contenido del búfer.
  • wrap(): esto envuelve una array larga existente en un búfer.

La mayoría de los métodos de la clase DoubleBuffer son directamente análogos a los métodos definidos por ByteBuffer.

Declaración de clase:

clase pública abstracta DoubleBuffer

extiende el búfer

implementa Comparable<DoubleBuffer>

Métodos de la clase ShortBuffer:

Método Descripción
asignar (capacidad int) Este método asigna un nuevo búfer doble.
formación() Este método devuelve la array doble 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 corto de solo lectura que comparte el contenido de este búfer.
compacto() Este método compacta este búfer.
compareTo(DoubleBuffer eso) Este método compara este búfer con otro.
duplicar() Este método crea un nuevo búfer doble 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 es un método de obtención relativo y devuelve el doble en la posición actual del búfer.
get(doble[] horario de verano) Este método es un método de obtención masiva relativa y devuelve este búfer.
get(doble[] dst, int offset, int longitud) Este método es un método de obtención masiva relativo y este búfer.
obtener (índice int) Este método es un método de obtención absoluto y este búfer.
tieneArray() Este método indica si este búfer está respaldado por una array int 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 int es directo.
ordenar() Este método recupera el orden de bytes de este búfer.
poner (doble d) Este método es un método put relativo y devuelve este búfer.
poner(doble[] src) Este método es un método de colocación masiva relativa y devuelve este búfer.
put(doble[] src, int offset, int longitud) Este método es un método de colocación masiva relativa y devuelve este búfer.
poner(DoubleBuffer src) Este método es un método de colocación masiva relativa y devuelve este búfer.
put(índice int, doble d) Este método es un método put absoluto para este búfer.
rodaja() Este método crea un nuevo búfer doble 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 doble []) Este método envuelve una array doble en un búfer.
wrap(doble[] array, int offset, int longitud) Este método envuelve una array doble en un búfer.

Los siguientes son algunos programas para demostrar la clase DoubleBuffer y sus métodos:

Ejemplo 1:

Java

// Java program to demonstrate
// DoubleBuffer class
  
import java.nio.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the DoubleBuffer
        int capacity = 5;
  
        // Creating the DoubleBuffer
  
        // creating object of Doublebuffer
        // and allocating size capacity
        DoubleBuffer db = DoubleBuffer.allocate(capacity);
  
        // putting the value in Doublebuffer
        db.put(9.26F);
        db.put(2, 5.61F);
  
        System.out.println("DoubleBuffer: "
                           + Arrays.toString(db.array()));
    }
}
Producción

DoubleBuffer: [9.260000228881836, 0.0, 5.610000133514404, 0.0, 0.0]

Ejemplo 2:

Java

// Java program to demonstrate
// DoubleBuffer class
  
import java.nio.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Declaire and initialize the float array
        double[] fbb = { 1.25D, 5.34D, 8.56D };
  
        // print the float array length
        System.out.println("Array length : " + fbb.length);
  
        // print the float array element
        System.out.println("\nArray element : "
                           + Arrays.toString(fbb));
  
        // wrap the float array into floatBuffer
        // using wrap() method
        DoubleBuffer doubleBuffer = DoubleBuffer.wrap(fbb);
  
        // Rewind the floatbuffer
        doubleBuffer.rewind();
  
        // print the float buffer
        System.out.println(
            "\ndoubleBuffer : "
            + Arrays.toString(doubleBuffer.array()));
  
        // print the DoubleBuffer capacity
        System.out.println("\ndoublebuffer capacity : "
                           + doubleBuffer.capacity());
  
        // print the DoubleBuffer position
        System.out.println("\ndoublebuffer position: "
                           + doubleBuffer.position());
    }
}
Producción

Array length : 3

Array element : [1.25, 5.34, 8.56]

doubleBuffer : [1.25, 5.34, 8.56]

doublebuffer capacity : 3

doublebuffer position: 0

Publicación traducida automáticamente

Artículo escrito por mank1083 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 *