Introducció a HashSet
HashSet és una implementació de l'estructura de dades Set en Java, que forma part del paquet java.util. Un HashSet és una col·lecció que no permet elements duplicats i no garanteix l'ordre dels elements. Utilitza una taula hash per emmagatzemar els elements, la qual cosa permet operacions com afegir, eliminar i buscar elements de manera eficient.
Característiques Clau de HashSet
- No permet duplicats: Cada element en un
HashSetés únic. - No garanteix l'ordre: Els elements no es mantenen en cap ordre específic.
- Permet elements null: Un
HashSetpot contenir un únic elementnull. - Eficient: Les operacions bàsques (addició, eliminació, cerca) tenen una complexitat temporal O(1) en la majoria dels casos.
Creació d'un HashSet
Per crear un HashSet, simplement has d'instanciar-lo utilitzant el constructor per defecte o especificant una capacitat inicial i un factor de càrrega.
Exemple de Creació
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
// Crear un HashSet per defecte
HashSet<String> set = new HashSet<>();
// Afegir elements al HashSet
set.add("Java");
set.add("Python");
set.add("C++");
// Intentar afegir un element duplicat
boolean isAdded = set.add("Java");
System.out.println("Element 'Java' afegit: " + isAdded); // false
// Mostrar els elements del HashSet
System.out.println("Elements del HashSet: " + set);
}
}Explicació del Codi
- Importació: Importem la classe
HashSetdel paquetjava.util. - Creació: Creem un
HashSetde tipusString. - Afegir Elements: Afegim alguns elements al
HashSetutilitzant el mètodeadd(). - Duplicats: Intentem afegir un element duplicat ("Java"). El mètode
add()retornafalseperquè l'element ja existeix. - Mostrar Elements: Imprimim els elements del
HashSet.
Operacions Comunes
Afegir Elements
Utilitza el mètode add() per afegir elements al HashSet.
Eliminar Elements
Utilitza el mètode remove() per eliminar un element específic.
Comprovar si un Element Existeix
Utilitza el mètode contains() per comprovar si un element està present.
Iterar sobre els Elements
Pots utilitzar un bucle for-each per iterar sobre els elements del HashSet.
Exemple Complet
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
// Afegir elements
set.add("Java");
set.add("Python");
set.add("C++");
// Eliminar un element
set.remove("Python");
// Comprovar si un element existeix
boolean exists = set.contains("C++");
System.out.println("C++ existeix: " + exists);
// Iterar sobre els elements
for (String element : set) {
System.out.println(element);
}
}
}Exercicis Pràctics
Exercici 1: Crear un HashSet d'Enteros
- Crea un
HashSetd'enteros. - Afegir els números 1, 2, 3, 4, 5 al
HashSet. - Eliminar el número 3.
- Comprovar si el número 4 està present.
- Iterar sobre els elements i imprimir-los.
Solució
import java.util.HashSet;
public class IntegerHashSetExample {
public static void main(String[] args) {
HashSet<Integer> set = new HashSet<>();
// Afegir elements
set.add(1);
set.add(2);
set.add(3);
set.add(4);
set.add(5);
// Eliminar un element
set.remove(3);
// Comprovar si un element existeix
boolean exists = set.contains(4);
System.out.println("4 existeix: " + exists);
// Iterar sobre els elements
for (Integer element : set) {
System.out.println(element);
}
}
}Exercici 2: Comprovar Duplicats
- Crea un
HashSetde cadenes. - Afegir les cadenes "A", "B", "C", "A".
- Comprovar si la cadena "A" es pot afegir dues vegades.
- Imprimir els elements del
HashSet.
Solució
import java.util.HashSet;
public class DuplicateCheckExample {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
// Afegir elements
set.add("A");
set.add("B");
set.add("C");
// Intentar afegir un element duplicat
boolean isAdded = set.add("A");
System.out.println("Element 'A' afegit: " + isAdded); // false
// Mostrar els elements del HashSet
System.out.println("Elements del HashSet: " + set);
}
}Conclusió
En aquesta secció, hem après sobre la classe HashSet en Java, incloent les seves característiques clau, com crear-lo, i les operacions comunes que es poden realitzar amb ell. També hem vist exemples pràctics i exercicis per reforçar els conceptes apresos. El HashSet és una eina poderosa per gestionar col·leccions d'elements únics de manera eficient.
Curs de Programació en Java
Mòdul 1: Introducció a Java
- Introducció a Java
- Configuració de l'Entorn de Desenvolupament
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
- Operadors
Mòdul 2: Flux de Control
Mòdul 3: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Mètodes
- Constructors
- Herència
- Polimorfisme
- Encapsulació
- Abstracció
Mòdul 4: Programació Orientada a Objectes Avançada
Mòdul 5: Estructures de Dades i Col·leccions
Mòdul 6: Gestió d'Excepcions
Mòdul 7: Entrada/Sortida de Fitxers
- Lectura de Fitxers
- Escriptura de Fitxers
- Fluxos de Fitxers
- BufferedReader i BufferedWriter
- Serialització
Mòdul 8: Multithreading i Concurrència
- Introducció al Multithreading
- Creació de Fils
- Cicle de Vida dels Fils
- Sincronització
- Utilitats de Concurrència
Mòdul 9: Xarxes
- Introducció a les Xarxes
- Sockets
- ServerSocket
- DatagramSocket i DatagramPacket
- URL i HttpURLConnection
