Table of Contents
Cómo eliminar números duplicados en Java usando HashSet (Ejemplo fácil)
Eliminar números duplicados en Java es una tarea muy común cuando trabajas con listas de datos. Afortunadamente, Java ofrece una solución sencilla y eficiente gracias a la interfaz Set.
En este tutorial aprenderás cómo eliminar duplicados en Java usando HashSet, además de calcular el número mínimo y máximo de una lista introducida por el usuario.
¿Por qué usar HashSet en Java?
La interfaz Set en Java no permite elementos repetidos, lo que la convierte en una opción perfecta para eliminar duplicados automáticamente.
Una de sus implementaciones más utilizadas es HashSet, que destaca por:
- No permitir elementos duplicados
- Tener un buen rendimiento
- Ser fácil de usar
Qué hace este programa
Este ejemplo en Java realiza lo siguiente:
- Solicita al usuario una lista de números separados por espacios
- Elimina automáticamente los números duplicados usando
HashSet - Muestra los números sin repetir
- Calcula el valor mínimo y máximo del conjunto
Es un ejercicio ideal si estás aprendiendo a trabajar con colecciones en Java.
Explicación paso a paso
1. Importar las clases necesarias
Se utilizan las siguientes clases:
Scanner→ para leer datos del usuarioHashSet→ para almacenar números sin duplicadosCollections→ para obtener el mínimo y máximo
2. Pedir los números al usuario
El usuario introduce números separados por espacios:
System.out.println("Por favor ingresa números separados por espacios:");
3. Convertir y almacenar los datos
- Se usa
split(" ")para separar los números - Se convierten a tipo
Integer - Se agregan al
HashSet(sin duplicados)
4. Mostrar resultados
- Se imprime el conjunto sin duplicados
- Se calcula el mínimo y máximo si hay datos
Código completo en Java
package set;import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;public class UsoDeHashSet01 { public static void main(String[] args) { String numero; Scanner sc = new Scanner(System.in); Set<Integer> numeros = new HashSet<>(); System.out.println("Por favor ingresa números separados por espacios (ej: 5 7 5 2 9)");
numero = sc.nextLine(); for (String n : numero.split(" ")) {
try {
numeros.add(Integer.parseInt(n));
} catch (NumberFormatException e) {
System.out.println("Error en la conversión...");
}
} System.out.println("Números sin duplicados: " + numeros);
System.out.println("----------------------------->"); if (!numeros.isEmpty()) {
int minimo = Collections.min(numeros);
System.out.println("El mínimo es: " + minimo); int maximo = Collections.max(numeros);
System.out.println("El máximo es: " + maximo);
} sc.close();
}
}
Resultado esperado
Si introduces:
5 7 5 2 9
El programa mostrará algo como:
Números sin duplicados: [2, 5, 7, 9]
El mínimo es: 2
El máximo es: 9
Ventajas de usar HashSet
- Elimina duplicados automáticamente
- Código limpio y fácil de entender
- Muy eficiente para grandes cantidades de datos
- Ideal para principiantes en Java

FAQ: Preguntas frecuentes
¿Cómo eliminar números duplicados en Java fácilmente?
La forma más sencilla es usar un HashSet, ya que automáticamente evita elementos repetidos al almacenarlos.
¿HashSet mantiene el orden de los números?
No. HashSet no garantiza el orden. Si necesitas mantener el orden de inserción, usa LinkedHashSet.
¿Qué pasa si el usuario introduce texto en lugar de números?
El programa captura el error con try-catch y muestra un mensaje sin detener la ejecución.
¿Puedo usar ArrayList para eliminar duplicados?
Sí, pero necesitarás convertirlo a un Set:
List<Integer> lista = new ArrayList<>(numeros);
Set<Integer> sinDuplicados = new HashSet<>(lista);
¿Cómo obtener el número mayor y menor en Java?
Puedes usar la clase Collections:
Collections.min(conjunto);
Collections.max(conjunto);
Te puede interesar:
Seguir leyendo:





