java.nio.Clase ShortBuffer en Java

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

  • Método de obtención absoluto y relativo que lee Shorts individuales.
  • Métodos put absolutos y relativos que escriben Shorts individuales.
  • Métodos put y get masivos relativos que transfieren secuencias contiguas de Shorts desde una array int o algún otro búfer de Shorts 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 ShortBuffer son directamente análogos a los métodos definidos por ByteBuffer.

Declaración de clase:

clase pública abstracta ShortBuffer

extiende el búfer

implementa Comparable<ShortBuffer>

Métodos de la clase ShortBuffer:

Método Descripción
asignar (capacidad int) Este método asigna un nuevo búfer corto.
formación() Este método devuelve la array corta 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(ShortBuffer eso) Este método compara este búfer con otro.
duplicar() Este método crea un nuevo búfer corto 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 corto en la posición actual del búfer.
obtener (índice int) Este método es un método de obtención absoluto y devuelve el corto en el índice dado.
get(int[] horario de verano) Este método es un método de obtención masiva relativa y devuelve este búfer.
get(int[] dst, int offset, int longitud) Este método relativo es un método de obtención masiva y devuelve este búfer.
tieneArray() Este método indica si este búfer está respaldado por una array int accesible. 
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.
put(índice int, s corta) Este método es un método put absoluto y devuelve este búfer.  
poner (corto s) Este método es un método put relativo y devuelve este búfer.
poner (corto [] src) Este método es un método de colocación masiva relativa y devuelve este búfer.
put(short[] src, int offset, int longitud) Este método es un método de colocación masiva relativa y devuelve este búfer.
poner (ShortBuffer src) Este método es un método de colocación masiva relativa y devuelve este búfer.
rodaja() Este método crea un nuevo búfer corto 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 corta []) Este método envuelve una array corta en un búfer.
envolver (array corta [], desplazamiento int, longitud int) Este método envuelve una array corta en un búfer.

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

Ejemplo 1:

Java

// Java program to demonstrate
// ShortBuffer class
  
import java.nio.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the ShortBuffer
        int capacity = 10;
  
        // Creating the ShortBuffer
        try {
  
            // creating object of Shortbuffer
            // and allocating size capacity
            ShortBuffer sb = ShortBuffer.allocate(capacity);
  
            // putting the value in Shortbuffer
            sb.put((short)100);
            sb.put(2, (short)9);
            sb.rewind();
  
            // getting array from fb ShortBuffer using
            // array() method
            short[] sbb = sb.array();
  
            // printing the ShortBuffer fb
            System.out.println("ShortBuffer: "
                               + Arrays.toString(sbb));
        }
  
        catch (IllegalArgumentException e) {
  
            System.out.println(
                "IllegalArgumentException catched");
        }
  
        catch (ReadOnlyBufferException e) {
  
            System.out.println(
                "ReadOnlyBufferException catched");
        }
    }
}
Producción

ShortBuffer: [100, 0, 9, 0, 0, 0, 0, 0, 0, 0]

Ejemplo 2:

Java

// Java program to demonstrate
// ShortBuffer class
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the ShortBuffer 1
        int capacity1 = 10;
  
        // Declaring the capacity of the ShortBuffer 2
        int capacity2 = 10;
  
        // Creating the ShortBuffer
        try {
  
            // creating object of Shortbuffer 1
            // and allocating size capacity
            ShortBuffer sb1
                = ShortBuffer.allocate(capacity1);
  
            // creating object of Shortbuffer 2
            // and allocating size capacity
            ShortBuffer fb2
                = ShortBuffer.allocate(capacity2);
  
            // putting the value in Shortbuffer 1
            sb1.put((short)100);
            sb1.put(2, (short)9);
            sb1.rewind();
  
            // putting the value in Shortbuffer 2
            fb2.put((short)100);
            fb2.put(2, (short)9);
            fb2.rewind();
  
            // print the ShortBuffer 1
            System.out.println(
                "ShortBuffer 1: "
                + Arrays.toString(sb1.array()));
  
            // print the ShortBuffer 2
            System.out.println(
                "ShortBuffer 2: "
                + Arrays.toString(fb2.array()));
  
            // checking the equality of both ShortBuffer
            boolean fbb = sb1.equals(fb2);
  
            // checking if else condition
            if (fbb)
                System.out.println("both are equal");
            else
                System.out.println("both are not equal");
        }
  
        catch (IllegalArgumentException e) {
            System.out.println(
                "IllegalArgumentException catched");
        }
  
        catch (ReadOnlyBufferException e) {
            System.out.println(
                "ReadOnlyBufferException catched");
        }
    }
}
Producción

ShortBuffer 1: [100, 0, 9, 0, 0, 0, 0, 0, 0, 0]
ShortBuffer 2: [100, 0, 9, 0, 0, 0, 0, 0, 0, 0]
both are equal

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 *