Как отсортировать HashSet в java

HashSet не сохраняет порядок элементов, однако вы можете преобразовать HashSet и упорядочить элементы в порядке возрастания с помощью двух методов: с помощью метода Collections.sort() или скопировав элементы в TreeSet.

1) Отсортируйте HashSet с помощью Collections.sort()

Метод Collections.sort() позволяет сортировать коллекции объектов, реализующих интерфейс java.util.List. Необходимо скопировать элементы HashSet в одну из коллекций: ArrayList, LinkedList или Vector.  Мы будем использовать класс ArrayList, который является самым простым.   Далее мы вызываем метод Collections.sort() в нашем 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) {
//создаем hashset
HashSet< Строка> hset = новый HashSet< Строка> ();

//add elements
hset.add("a2");
hset.add("a3");
hset.add("b1");
hset.add("b3");
hset.add("a1");
hset.add("b2");

System.out.println("Перед сортировкой:");
for(String s: hset)
System.out.println(s);

//копируем элементы HashSet в список ArrayList
< Строка> list = новый ArrayList< Строка> (hset);
Collections.sort(list);

System.out.println("После сортировки:");
for(String s: hset)
System.out.println(s);
}
}
Output:

Перед сортировкой: 
b1
a1
b3
b2
a2
a3
После сортировки:
b1
a1
b3
b2
a2
a3

1) Сортировка HashSet с помощью TreeSet

Использовать TreeSet очень просто. Просто создайте экземпляр TreeSet с HashSet.

import java.util.HashSet в качестве аргумента; 
import java.util.TreeSet;

public class TriHashSetTreeMap {

public static void main(String[] args) {
//создаем hashset
HashSet hset = new HashSet();

//добавляем elements
hset.add(5);
hset.add(16);
hset.add(8);
hset.add(22);
hset.add(14);
hset.add(11);

System.out.println("Перед сортировкой: "+hset);
for(int n: hset)
System.out.println(n);

//копируем элементы HashSet в ArrayList
TreeSet treeset = new TreeSet< > (hset);

System.out.println("После сортировки: "+treeset);
for(int n : treeset)
System.out.println(n);
}
}
Output:

Before sorting: [16, 5, 22, 8, 11, 14]
16
5
22
8
11
14
После IR: [5, 8, 11, 14, 16, 22]
5
8
11
14
16
22