Piensa la respuesta antes de abrirla. Todas las opciones parecen razonables, y casi siempre hay un detalle que lo cambia todo.
Pregunta Java · Collections
¿Cuál es el resultado de ejecutar el siguiente código?
import java.util.HashSet;
import java.util.Set;
public class Test {
static void imprime(Set<? extends String> set) {
for (String elemento : set) {
System.out.format("%s ", elemento);
}
}
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
set.add("A");
set.add("J");
set.add("A");
set.add("X");
imprime(set);
}
}- imprime
"A J A X" - imprime
"A J X" - La salida no puede ser determinada
Ver la respuesta
Respuesta: 3.
java TestA X J
Un HashSet no guarda duplicados, así que la segunda "A" se descarta y quedan tres elementos. Pero no garantiza ningún orden: los coloca según su hashCode, y en nuestra ejecución salió A X J, que no es el orden en que se añadieron ni el alfabético. La documentación ni siquiera garantiza que ese orden se mantenga a lo largo del tiempo.
Si necesitas que salgan en el orden en que se insertaron, usa LinkedHashSet; si los quieres ordenados, TreeSet.
Más preguntas de Java
- wait() sin el monitor correcto
- start() con un argumento
- Dos hilos y una variable compartida
- wait() fuera de synchronized
- Leer más allá del final de un archivo
- binarySearch con null
- Serializar una clase cuyo padre no es Serializable
- Clases internas anidadas
- Llamar a run() en vez de start()
- Un assert que nunca falla
- HashSet sin equals ni hashCode
- Campos transient al serializar
Pregunta publicada en 2013 y revisada en octubre de 2026. La respuesta se comprobó compilando y ejecutando el código con Java 25 LTS en un contenedor limpio; las salidas están copiadas de esa ejecución.
Soy un desconocido…
y se la respuesta…
No te la dire…
pero te dare una Pista…
Todo lo que agregas en un HashSet, se va ordenando por medio de su hashcode…
Atte. Desconocido2014MX
Imprime AXJ
😀
Creo que el reto realmente es ver esa imagen tan pequeña