So sortieren Sie ein HashSet in Java
HashSet behält die Reihenfolge der Elemente nicht bei, aber Sie können HashSet konvertieren und die Elemente mit zwei Methoden in aufsteigender Reihenfolge sortieren: mit der Methode Collections.sort() oder durch Kopieren der Elemente in ein TreeSet.1) HashSet sortieren mit Collections.sort()
Die Methode Collections.sort() ermöglicht es Ihnen, Sammlungen von Objekten zu sortieren, die die Schnittstelle implementieren java.util.List. Sie sollten die HashSet-Elemente in eine der Auflistungen kopieren: ArrayList, LinkedList oder Vector. Wir werden die ArrayList-Klasse verwenden, die die einfachste ist. Als nächstes rufen wir die Methode Collections.sort() auf unserer ArrayList.
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
public class TriHashSet {
public static void main(String[] args) {
//create a hashset
HashSet< String> hset = neues HashSet< String> ();
//Elemente hinzufügen
hset.add("a2");
hset.add("a3");
hset.add("b1");
hset.add("b3");
hset.add("a1");
hset.add("b2");
System.out.println("Vor dem Sortieren:");
for(String s: hset)
System.out.println(s);
//Kopieren von HashSet-Elementen in ArrayList
List< String> list = new ArrayList< String> (hset);
Sammlungen.sort(Liste);
System.out.println("Nach dem Sortieren:");
for(String s: hset)
System.out.println(s);
}
}
Output:
Vor der Sortierung:
b1
a1
b3
b2
a2
a3
Nach der Sortierung:
b1
a1
b3
b2
a2
a3
1) Das Sortieren von HashSet mit TreeSet
Die Verwendung von TreeSet ist sehr einfach. Erstellen Sie einfach eine Instanz von TreeSet mit dem HashSet.
import java.util.HashSet als Argument;Ausgabe:
import java.util.TreeSet;
public class TriHashSetTreeMap {
public static void main(String[] args) {
//create a hashset
HashSethset = new HashSet ();
//Elemente hinzufügen
hset.add(5);
hset.add(16);
hset.add(8);
hset.add(22);
hset.add(14);
hset.add(11);
System.out.println("Vor dem Sortieren: "+hset);
for(int n: hset)
System.out.println(n);
//Kopieren von HashSet-Elementen in ArrayList
TreeSettreeset = new TreeSet< > (hset);
System.out.println("Nach dem Sortieren: "+treeset);
for(int n : treeset)
System.out.println(n);
}
}
Vor der Sortierung: [16, 5, 22, 8, 11, 14]
16
5
22
8
11
14
Nachher IR: [5, 8, 11, 14, 16, 22]
5
8
11
14
16
22