Clase java.nio.IntBuffer en Java

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

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

Los búferes int pueden ser creados por:

  • 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 IntBuffer son directamente análogos a los métodos definidos por ByteBuffer.

Declaración de clase:

clase pública abstracta IntBuffer

extiende el búfer

implementa Comparable<IntBuffer>

Métodos de la clase IntBuffer:

Método

Descripción

asignar (capacidad int)

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

formación()

Este método devuelve la array int 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 int de solo lectura que comparte el contenido de este búfer.

compacto()

Este método compacta este búfer.

compareTo(IntBuffer eso)

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

duplicar()

Este método crea un nuevo búfer int 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 int 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 int 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. 

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 (int yo)

Este método es un método put relativo y devuelve este búfer.

poner(int[] src)

Este método es un método de colocación masiva relativa y devuelve este búfer.

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

Este método es un método de colocación masiva relativa y devuelve este búfer.

poner (IntBuffer src)

Este método es un método de colocación masiva relativa y devuelve este búfer.

poner(índice int, i int)

Este método es un método de colocación masiva absoluto y devuelve este búfer.

rodaja()

Este método crea un nuevo búfer int 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 int [])

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

wrap(array int[], compensación int, longitud int)

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

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

Ejemplo 1:

Java

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

IntBuffer: [100, 0, 9, 0, 0, 0, 0, 0, 0, 0]

Ejemplo 2:

Java

// Java program to demonstrate
// IntBuffer class
  
import java.nio.*;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Declaring the capacity of the IntBuffer
        int capacity = 10;
  
        // Creating the IntBuffer
        try {
  
            // creating object of Intbuffer
            // and allocating size capacity
            IntBuffer ib = IntBuffer.allocate(capacity);
  
            // putting the value in Intbuffer
            ib.put(4);
            ib.put(2, 9);
            ib.rewind();
  
            // checking IntBuffer ib is backed by array or
            // not
            boolean isArray = ib.hasArray();
  
            // checking if else condition
            if (isArray)
                System.out.println("IntBuffer ib is"
                                   + " backed by array");
            else
                System.out.println(
                    "IntBuffer ib is"
                    + " not backed by any array");
        }
  
        catch (IllegalArgumentException e) {
            System.out.println(
                "IllegalArgumentException catched");
        }
  
        catch (ReadOnlyBufferException e) {
            System.out.println(
                "ReadOnlyBufferException catched");
        }
    }
}
Producción

IntBuffer ib is backed by array

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 *