如何在 Java 中对 LinkedHashSet 进行排序?
原文:https://www . geesforgeks . org/how-sort-link edhashset-in-Java/
链接哈希集是哈希集的有序版本,在所有元素中维护一个双链表。当迭代一个 HashSet 时,顺序是不可预测的,而 LinkedHashSet 让我们按照元素插入的顺序迭代元素。当使用迭代器在 LinkedHashSet 中循环时,元素将按照它们被插入的顺序返回。
Java 中有三种方法可以对 LinkedHashSet 进行排序。以下哪一项:
方法 1(使用数组列表)
在这个方法中,我们将 LinkedHashSet 转换成一个 ArrayList,然后使用集合类的 sort() 方法对 ArrayList 进行排序。
// Convert LinkedHashSet to an ArrayList
ArrayList<Integer> array = new ArrayList<>(set);
// sort ArrayList
Collections.sort(array);
申报
public static void sort(List myList)
参数: myList 是我们要排序的一个对象。
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to demonstrate how to sort LinkedHashSet
import java.util.*;
class GFG {
public static void main(String[] args)
{
// New Empty LinkedHashSet
LinkedHashSet<Integer> set = new LinkedHashSet<>();
// Adding elements
set.add(10);
set.add(50);
set.add(20);
set.add(40);
set.add(30);
// Print LinkedHashSet before sort
System.out.println("Before sort: " + set);
// Convert LinkedHashSet to an ArrayList
ArrayList<Integer> array = new ArrayList<>(set);
// sort ArrayList
Collections.sort(array);
// Print after sort
System.out.println("After sort: " + array);
}
}
Output
Before sort: [10, 50, 20, 40, 30]
After sort: [10, 20, 30, 40, 50]
方法二:使用 树集
在这个方法中,我们使用 构造函数 将 LinkedHashSet 转换为一个 TreeSet,以自动对元素进行排序。
// Convert LinkedHashSet to a TreeSet
TreeSet<Integer> tree_set = new TreeSet<>(set);
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to demonstrate how to sort LinkedHashSet
import java.util.*;
class GFG {
public static void main(String[] args)
{
// New Empty LinkedHashSet
LinkedHashSet<Integer> set = new LinkedHashSet<>();
// Adding elements
set.add(10);
set.add(50);
set.add(20);
set.add(40);
set.add(30);
// Print LinkedHashSet before sort
System.out.println("Before sort: " + set);
// Convert LinkedHashSet to a TreeSet using
// constructor
TreeSet<Integer> tree_set = new TreeSet<>(set);
// Print after sort
System.out.println("After sort: " + tree_set);
}
}
Output
Before sort: [10, 50, 20, 40, 30]
After sort: [10, 20, 30, 40, 50]
方法 3:使用流
在这个方法中,我们使用流和流的 sorted() 函数对 LinkedHashSet 进行排序。
// Sort and print using stream
set.stream().sorted().forEach(System.out::println);
下面是实现:
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to demonstrate how to sort LinkedHashSet
import java.util.*;
class GFG {
public static void main(String[] args)
{
// New Empty LinkedHashSet
LinkedHashSet<Integer> set = new LinkedHashSet<>();
// Adding elements
set.add(10);
set.add(50);
set.add(20);
set.add(40);
set.add(30);
// Print LinkedHashSet before sort
System.out.println("Before sort: " + set);
// Print after sort
System.out.println("After sort: ");
// Sort and print using stream
set.stream().sorted().forEach(System.out::println);
}
}
Output
Before sort: [10, 50, 20, 40, 30]
After sort:
10
20
30
40
50
版权属于:月萌API www.moonapi.com,转载请注明出处