Ich arbeite an Hashmaps. Es erlaubt keine Duplikate, aber in diesem Programm hat es drei Elemente hinzugefügt, nach mir sollte es nur einen bcz Rest hinzufügen sind gleich.HashSet Hinzufügen von Duplikaten
import java.util.*;
public class WrappedString {
private String s;
public WrappedString(String s) { this.s = s; }
public static void main(String[] args) {
HashSet<Object> hs = new HashSet<Object>();
WrappedString ws1 = new WrappedString("aardvark");
WrappedString ws2 = new WrappedString("aardvark");
String s1 = new String("aardvark");
String s2 = new String("aardvark");
System.out.println(hs.add(ws1)); //true
System.out.println(hs.add(ws2)); ////true
System.out.println(hs.add(s1)); //true
System.out.println(hs.add(s2)); //false
System.out.println(hs.size());//3 } }
Was ist diese Klasse 'WrappedString'? HashSet hängt von der Methode 'equals()' ab, um Duplikate zu vermeiden. Wenn Ihre Klasse das nicht überschreibt, erhalten Sie möglicherweise unvorhersehbare Ergebnisse. – zencv
@zencv Es besteht keine Notwendigkeit, die equals() -Methode zu überschreiben, da sie bereits für alle Klassen verfügbar ist, da diese Methode in Object() - Klasse –
@DishaJain Exactly Object definiert ist implementiert gleich und bestimmt, dass diese beiden Objekte nicht gleich sind. – Paparazzi