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