Heim > Java > javaLernprogramm > Hauptteil

Detaillierte Einführung in die Java-Sammlung HashSet

黄舟
Freigeben: 2017-03-13 17:45:04
Original
1831 Leute haben es durchsucht

HashSet ist ein Satz ohne doppelte Elemente. HashSet wird von HashMap implementiert und garantiert nicht die Reihenfolge der Elemente Elemente. HashSet ist nicht threadsicher. Wenn mehrere Threads gleichzeitig auf HashSet zugreifen, treten Probleme auf. Die Lösung besteht darin, Synchronisierungsvorgänge für das -Objekt durchzuführen, das das Set auf natürliche Weise kapselt. Sie können auch die Collections.synchronizedSet-Methode verwenden, um den Satz zu verpacken. Set s=Collectins.synchronizedSet(

new

HashSet()). HashSet-Vererbungsimplementierungsdiagramm:


Aus der Abbildung können wir sehen:

(1) HashSet erbt von AbstractSet, und implementiert die Set

Schnittstelle

. (2) HashSet ist im Wesentlichen eine Menge ohne doppelte Elemente, die über HashMap implementiert wird. Es gibt eine Map

Variable

von HashMap in HashSet, und die OperationFunktion von HashSet wird tatsächlich durch Map implementiert. HashSet ist ein Schlüssel, der Werte als HashMap speichert.


HashSet-Hauptfunktionen:


HashSet-Traversal-Methode:
add(E object)
clear()
Object clone()
contains(Object object)
isEmpty()
Iterator<> iterator()
remove(Object object)
size()
Nach dem Login kopieren

( 1) Durchlaufen Sie HashSet durch Iterator-Iteration: Rufen Sie zuerst den Iterator von HashSet gemäß iterator () ab und iterieren Sie, um jedes Element zu erhalten.


(2) Durchlaufen Sie das HashSet durch for-each: Erhalten Sie zuerst das Array, das der Elementsammlung des HashSet entspricht, über toArray () und durchlaufen Sie dann das Array, um die Elemente zu erhalten.
(Iterator iterator = set.iterator()iterator.hasNext()) 
    {
        iterator.next()}
Nach dem Login kopieren


HashSet-Beispielcode:
String[] arr = (String[])set.toArray(String[])(String str:arr)
   {
       System.out.printf(str)   }
Nach dem Login kopieren


Ergebnis:
Hello {

(String[] args) Exception {
() }

() {
HashSet set = HashSet()set.add()set.add()set.add()set.add()set.add()System..printf(set.size())System..printf(set.contains())System..printf(set.contains())set.remove()String[] arr = (String[])set.toArray(String[])(String str:arr)
            System..printf(str)HashSet otherset = HashSet()otherset.add()otherset.add()otherset.add()HashSet removeset = (HashSet)set.clone()removeset.removeAll(otherset)System..printf(removeset)HashSet retainset = (HashSet)set.clone()retainset.retainAll(otherset)System..printf(retainset)(Iterator iterator = set.iterator()iterator.hasNext())
            System..printf(iterator.next())set.clear()System..printf(set.isEmpty()?:)}
}
Nach dem Login kopieren

HashSet-Quellcode basierend auf Java8:
size : 5
HashSet contains a :true
HashSet contains g :false
for each : a
for each : b
for each : c
for each : d
removeset : [a, d]
retainset : [b, c]
iterator : a
iterator : b
iterator : c
iterator : d
set is empty
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Java-Sammlung HashSet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!