Mesa | guayaba | Java

Guava’s Table es una colección que representa una estructura similar a una tabla que contiene filas, columnas y los valores de celda asociados . La fila y la columna actúan como un par ordenado de claves.

La fila y la columna actúan como un par ordenado de claves. Si tuviéramos que manejar esto de la manera tradicional, entonces la estructura sería un mapa de filas donde cada fila contiene un mapa de columna y los valores de celda, por ejemplo, Map< rowKey, Map< colKey, cellValue > > .

Declaración: La siguiente es la declaración para la interfaz com.google.common.collect.Table< R, C, V > :

@GwtCompatible
public interface Table<R, C, V>

Parámetros:

  • R: el tipo de las claves de fila de la tabla.
  • C : El tipo de las claves de columna de la tabla.
  • V : El tipo de los valores mapeados.

Algunos de los métodos proporcionados por Table Interface son:

Guava proporciona una variedad diferente de implementaciones para Table interface, que se muestran en la siguiente tabla:

Puntos importantes:

  • Una tabla puede ser escasa, con solo una pequeña fracción de pares de claves de fila / clave de columna que poseen un valor correspondiente.
  • En algunas implementaciones, el acceso a datos por clave de columna puede tener menos operaciones admitidas o peor rendimiento que el acceso a datos por clave de fila.
  • Todos los métodos que modifican la tabla son opcionales, y las vistas devueltas por la tabla pueden o no ser modificables. Cuando no se admite la modificación, esos métodos generarán una excepción UnsupportedOperationException.

A continuación se presentan algunos otros métodos proporcionados por Table Interface:

Ejemplo:

// Java code to show implementation of
// Guava's Table interface
import java.util.Map;
import java.util.Set;
  
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;
  
class GFG {
  
    // Driver method
    public static void main(String args[])
    {
  
        // creating a table to store Student information
        Table<String, String, String> studentTable = HashBasedTable.create();
  
        // Adding student details in the table
        // The first field represents the department
        // of student, second field represents the
        // Roll no. and third field represents the
        // student name
        studentTable.put("CSE", "5", "Dhiman");
        studentTable.put("CSE", "7", "Shubham");
        studentTable.put("CSE", "9", "Abhishek");
        studentTable.put("CSE", "12", "Sahil");
  
        studentTable.put("ECE", "15", "Ram");
        studentTable.put("ECE", "18", "Anmol");
        studentTable.put("ECE", "20", "Akhil");
        studentTable.put("ECE", "25", "Amrit");
  
        // get Map corresponding to ECE department
        Map<String, String> eceMap = studentTable.row("ECE");
  
        System.out.println("List of ECE students : ");
  
        for (Map.Entry<String, String> student : eceMap.entrySet()) {
            System.out.println("Student Roll No : " + student.getKey() + ", Student Name : " + student.getValue());
        }
  
        System.out.println();
  
        // get a Map corresponding to Roll no. 12
        Map<String, String> stuMap = studentTable.column("12");
  
        for (Map.Entry<String, String> student : stuMap.entrySet()) {
            System.out.println("Student Roll No : " + student.getKey() + ", Student Name : " + student.getValue());
        }
    }
}

Producción :

List of ECE students : 
Student Roll No : 15, Student Name : Ram
Student Roll No : 18, Student Name : Anmol
Student Roll No : 20, Student Name : Akhil
Student Roll No : 25, Student Name : Amrit

Student Roll No : CSE, Student Name : Sahil

Referencia: Google Guayaba

Publicación traducida automáticamente

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