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).
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); } } }
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