Java HashSet size()-Methode
size()Die Methode ist in JavaHashSeteine integrierte Methode der Klasse, die verwendet wird, um die Anzahl der Elemente in der aktuellen Sammlung zurückzugeben. Ihre Methodensignatur lautet wie folgt:
Methodensyntax
Rückgabewert
Diese Methode gibt einenintTypwert, derHashSetdie Anzahl der derzeit in der Instanz gespeicherten Elemente darstellt.
Wichtige Hinweise
- Der Rückgabewert ist immer eine nichtnegative ganze Zahl
- Wenn das Set leer ist, wird 0 zurückgegeben
- Der Rückgabewert gibt die Größe des Sets zum Zeitpunkt des Aufrufs wieder; nachfolgende add/remove-Operationen ändern diesen Wert
Anwendungsbeispiele
Grundlegende Verwendung
Beispiel
public class HashSetSizeExample {
public static void main(String[] args) {
// Ein neues HashSet erstellen
HashSet<String> fruits = new HashSet<>();
// Elemente hinzufügen
fruits.add("Apfel");
fruits.add("Banane");
fruits.add("Orange");
// Verwenden Sie die Methode size(), um die Größe des Sets abzurufen
int size = fruits.size();
System.out.println("Anzahl der Elemente in HashSet: " + size); // Ausgabe: 3
}
}
Fall der leeren Menge
Beispiel
System.out.println("Größe des leeren HashSet: " + numbers.size()); // Ausgabe: 0
Dynamische Änderungen
Beispiel
System.out.println("Anfangsgröße: " + letters.size()); // Ausgabe: 0
letters.add('A');
letters.add('B');
System.out.println("Größe nach dem Hinzufügen: " + letters.size()); // Ausgabe: 2
letters.remove('A');
System.out.println("Größe nach Entfernung: " + letters.size()); // Ausgabe: 1
Technische Details
Zeitkomplexität
size()Die Zeitkomplexität der Methode ist O(1), weilHashSetsie intern einen Zähler führt, um die Anzahl der Elemente zu verfolgen, anstatt bei jedem Aufruf neu zu berechnen.
Unterschied zur Kapazität
size()Sie gibt die tatsächliche Anzahl der gespeicherten Elemente zurück- Die Kapazität bezieht sich auf die Größe der zugrunde liegenden Hash-Tabelle und kann über den Konstruktor festgelegt werden
- Die Kapazität ist normalerweise größer als oder gleich size
Beispiel
System.out.println(set.size()); // Ausgabe: 0 (da noch keine Elemente vorhanden sind)
Praktische Anwendungsszenarien
1. Prüfen, ob das Set leer ist
Obwohl Sie verwenden könnenisEmpty()Methode, abersize() == 0ist auch eine gängige Praxis.
Beispiel
System.out.println("Der Einkaufswagen ist leer");
}
2. Set-Größe begrenzen
Beispiel
// ...
if (activeUsers.size() >= MAX_ACTIVE_USERS) {
System.out.println("Maximale Anzahl aktiver Benutzer erreicht");
}
3. Leistungsüberwachung
Beispiel
log.info("Aktuelle Anzahl der Cache-Einträge: " + cache.size());
Hinweise
Nebenläufige Umgebung:
HashSetist nicht threadsicher; in einer Multithread-Umgebung kann die Verwendung vonsize()zu ungenauen Ergebnissen führen. Erwägen Sie die Verwendung vonConcurrentHashMapoder einem synchronisierten Wrapper.Zusammenarbeit mit anderen Collection-Methoden:
Beispiel
// Größe zuerst prüfen, um unnötige Operationen zu vermeiden
if (set1.size() == set2.size() && set1.containsAll(set2)) {
System.out.println("Die beiden sind gleich");
}
Speicherüberlegungen: Groß
HashSetbeansprucht mehr Speicher; regelmäßiges Prüfensize()kann helfen, Speicherprobleme zu erkennen.
Zusammenfassung
HashSetvonsize()Die Methode ist ein einfaches, aber sehr nützliches Werkzeug, das einen schnellen Überblick über den aktuellen Zustand der Sammlung bietet. Diese Methode zu verstehen und korrekt zu verwenden, kann Ihnen helfen, effizienteren und zuverlässigeren Code zu schreiben.
Java HashSet