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