Novato pregunta sobre HashSet javaentendimiento contiene método de Java HashSet
Set<User> s = new HashSet<User>();
User u = new User();
u.setName("name1");
s.add(u);
u.setName("name3");
System.out.println(s.contains(u));
¿Puede alguien explicar por qué esta salida de código falsa? Además, este código ni siquiera iguala el método de usuario. Pero de acuerdo con las fuentes de HashSet y HashMap tiene que llamarlo. El método es igual a User simplemente llama igual en el nombre del usuario. Método hashCode retorno hashCode del nombre de usuario
Quizás quiso implementar User.equals método '()' ? –
Para citar a Jon Skeet: "Los objetos en hashsets deben ser inmutables o se debe ejercer disciplina para no cambiarlos después de que se hayan utilizado en un hashset (o hashmap)". - http://stackoverflow.com/questions/4718009/mutable-objects-and-hashcode – Qwerky