Clase AbstractSet en Java con ejemplos

La clase AbstractSet en Java es una parte de Java Collection Framework que implementa la interfaz Collection y amplía la clase AbstractCollection . Proporciona una implementación básica de la interfaz Set. Esta clase no anula ninguna de las implementaciones de la clase AbstractCollection, sino que simplemente agrega implementaciones para los métodos equals() y hashCode().

El proceso de implementar un conjunto extendiendo esta clase es idéntico al de implementar una Colección extendiendo AbstractCollection, excepto que todos los métodos y constructores en las subclases de esta clase deben obedecer las restricciones adicionales impuestas por la interfaz Set (por ejemplo, el add no debe permitir la adición de múltiples instancias de un objeto a un conjunto).

AbstractSet-Class-in-Java

Del diagrama de jerarquía de clases, se puede concluir que implementa las interfaces Iterable<E> , Collection<E> , Set<E> . Las subclases directas son ConcurrentSkipListSet , CopyOnWriteArraySet , EnumSet , HashSet , TreeSet . Como ya comentamos anteriormente, AbstractSet es una clase abstracta, por lo que se le debe asignar una instancia de sus subclases, como TreeSet, HashSet o EnumSet.

Sintaxis: Declaración 

public abstract class AbstractSet<E>
extends AbstractCollection<E>
implements Set<E>

Donde E es el tipo de elementos que mantiene este Conjunto.

Constructor de la clase AbstractSet 

1. AbstractSet() protegido: El constructor predeterminado, pero al estar protegido, no permite la creación de un objeto AbstractSet.

AbstractSet<E> as = new TreeSet<E>();

Métodos de AbstractSet

MÉTODO

DESCRIPCIÓN

 es igual a​(Objeto o) Compara el objeto especificado con este conjunto para la igualdad.
 código hash() Devuelve el valor del código hash para este conjunto.
removeAll​(Colección<?> c) Elimina de este conjunto todos sus elementos que están contenidos en la colección especificada (operación opcional).

Ejemplo 1:

Java

// Java Program to Illustrate AbstractSet Class
 
// Importing required classes
import java.util.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args) throws Exception
    {
        // Try block to check for exceptions
        try {
 
            // Creating an empty TreeSet of integer type by
            // creating object of AbstractSet
            AbstractSet<Integer> abs_set
                = new TreeSet<Integer>();
 
            // Populating TreeSet
            // using add() method
            abs_set.add(1);
            abs_set.add(2);
            abs_set.add(3);
            abs_set.add(4);
            abs_set.add(5);
 
            // Printing the elements inside above TreeSet
            System.out.println("AbstractSet: " + abs_set);
        }
 
        // Catch block to handle the exceptions
        catch (Exception e) {
 
            // Display exception on console
            System.out.println(e);
        }
    }
}
Producción

AbstractSet: [1, 2, 3, 4, 5]

Ejemplo 2:

Java

// Java Program to Illustrate Methods
// of AbstractSet class
 
// Importing required classes
import java.util.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args) throws Exception
    {
 
        // Try block to check for exceptions
        try {
 
            // Creating an empty TreeSet of integer type
            AbstractSet<Integer> abs_set
                = new TreeSet<Integer>();
 
            // Populating above TreeSet
            // using add() method
            abs_set.add(1);
            abs_set.add(2);
            abs_set.add(3);
            abs_set.add(4);
            abs_set.add(5);
 
            // Printing the elements inside TreeSet
            System.out.println("AbstractSet before "
                               + "removeAll() operation : "
                               + abs_set);
 
            // Creating an ArrayList of integer type
            Collection<Integer> arrlist2
                = new ArrayList<Integer>();
 
            // Adding elements to above ArrayList
            arrlist2.add(1);
            arrlist2.add(2);
            arrlist2.add(3);
 
            // Printing the ArrayList elements
            System.out.println("Collection Elements"
                               + " to be removed : "
                               + arrlist2);
 
            // Removing elements from AbstractSet specified
            // using removeAll() method
            abs_set.removeAll(arrlist2);
 
            // Printing the elements of ArrayList
            System.out.println("AbstractSet after "
                               + "removeAll() operation : "
                               + abs_set);
        }
 
        // Catch block to handle the exceptions
        catch (NullPointerException e) {
 
            // Display exception on console
            System.out.println("Exception thrown : " + e);
        }
    }
}

Producción:

Algunos otros métodos de clases o interfaces se definen a continuación que de alguna manera nos ayudan a comprender mejor la clase AbstractSet de la siguiente manera:

 Métodos declarados en la clase java.util.AbstractCollection

MÉTODO

DESCRIPCIÓN

agregar​(E e) Garantiza que esta colección contenga el elemento especificado (operación opcional).
 addAll​(Colección<? extiende E> c) Agrega todos los elementos de la colección especificada a esta colección (operación opcional).
clear() Elimina todos los elementos de esta colección (operación opcional).
contiene​(Objeto o) Devuelve verdadero si esta colección contiene el elemento especificado.
contieneTodo​(Colección<?> c) Devuelve verdadero si esta colección contiene todos los elementos de la colección especificada.
esta vacio() Devuelve verdadero si esta colección no contiene elementos.
iterador() Devuelve un iterador sobre los elementos contenidos en esta colección.
eliminar​(Objeto o) Elimina una sola instancia del elemento especificado de esta colección, si está presente (operación opcional).
retenerTodo​(Colección<?> c) Retiene solo los elementos de esta colección que están contenidos en la colección especificada (operación opcional).
aArray() Devuelve una array que contiene todos los elementos de esta colección.
a la Array​(T[] a) Devuelve una array que contiene todos los elementos de esta colección; el tipo de tiempo de ejecución de la array devuelta es el de la array especificada.
 Enstringr() Devuelve una representación de string de esta colección.

Métodos declarados en la interfaz java.util.Collection

MÉTODO

DESCRIPCIÓN

flujoParalelo() Devuelve un Stream posiblemente paralelo con esta colección como fuente.
removeIf​(predicado<? filtro super E>) Elimina todos los elementos de esta colección que satisfacen el predicado dado.
corriente() Devuelve un Stream secuencial con esta colección como fuente.
toArray​(IntFunction<T[]> generador) Devuelve una array que contiene todos los elementos de esta colección, utilizando la función de generador proporcionada para asignar la array devuelta.

Métodos declarados en la interfaz java.lang.Iterable

MÉTODO

DESCRIPCIÓN

forEach​(Consumidor<? super T> acción) Realiza la acción dada para cada elemento del iterable hasta que se hayan procesado todos los elementos o la acción genere una excepción.

Métodos declarados en la interfaz java.util.Set

MÉTODO

DESCRIPCIÓN

agregar​(E e) Agrega el elemento especificado a este conjunto si aún no está presente (operación opcional).
 addAll​(Colección<? extiende E> c) Agrega todos los elementos de la colección especificada a este conjunto si aún no están presentes (operación opcional).
 clear() Elimina todos los elementos de este conjunto (operación opcional).
 contiene​(Objeto o) Devuelve verdadero si este conjunto contiene el elemento especificado.
contieneTodo​(Colección<?> c) Devuelve verdadero si este conjunto contiene todos los elementos de la colección especificada.
 esta vacio() Devuelve verdadero si este conjunto no contiene elementos.
iterador() Devuelve un iterador sobre los elementos de este conjunto.
eliminar​(Objeto o) Elimina el elemento especificado de este conjunto si está presente (operación opcional).
 retenerTodo​(Colección<?> c) Conserva solo los elementos de este conjunto que están contenidos en la colección especificada (operación opcional).
 Talla() Devuelve el número de elementos de este conjunto (su cardinalidad).
divisor() Crea un Spliterator sobre los elementos de este conjunto.
 aArray() Devuelve una array que contiene todos los elementos de este conjunto.
 a la Array​(T[] a) Devuelve una array que contiene todos los elementos de este conjunto; el tipo de tiempo de ejecución de la array devuelta es el de la array especificada.

Publicación traducida automáticamente

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