Set.add()

K

Killit

Gast
Hey Leute, ich lese jetzt schon seit ner Stunde in Java ist auch eine Insel, hab dabei auch viel
gelernt, nur folgende Information fehlt mir gerade:


Wenn ich ein Set anlege, also z.B.:
Java:
 public Set<Chatroom> rofl = new HashSet<Chatroom>(20);

In meinem Fall hab ich übrigens ein HashSet angelegt, und ich dann in einer anderen Methode ein Obj vom Typ Chatroom
hinzufügen will --> sprich
Java:
 rofl.add(Chatroom);
sorgt dann .add wie bei der Liste dafür, ob genug Platz vorhanden ist,
und wenn nicht, vergrößert sich dann mein Set automatisch?
 
Zuletzt bearbeitet von einem Moderator:
M

maki

Gast
sorgt dann .add wie bei der Liste dafür, ob genug Platz vorhanden ist,
und wenn nicht, vergrößert sich dann mein Set automatisch?
Ja, das machen alle Collections und Maps aus der Java API.

Bei HashSet musst du darauf achten, dass equals & hashcode richtig implementiert sind.
 

Niki

Top Contributor
ja, vergrößern tut sich das set von selbst, jedoch wird die reihenfolge der entries im set nicht berücksichtigt
 

nrg

Top Contributor
sorgt dann .add wie bei der Liste dafür, ob genug Platz vorhanden ist,
add fügt das element hinzu, sofern es nicht bereits in dem set existiert

und wenn nicht, vergrößert sich dann mein Set automatisch?
ja. sets sind wie alle collections dynamisch und vergrößert sich unbegrenzt. begrenzt wird die größe von collections nur durch die heapsize


mal von deinen fragen abgesehen: hast du in Chatroom hashCode() und equals() überschrieben?
 
K

Killit

Gast
ne, ich weiß gar nicht was ihr meint ehrlich gesagt. Lese hierfür gerade wieder im Internet ^^
 

Niki

Top Contributor
lass dir einfach von deiner IDE die equals und hashCode methoden generieren. dann bist du auf der sicheren seite
 

Neue Themen


Oben