更新時間:2022-09-08 11:06:11 來源:動力節點 瀏覽1521次
在 Java 中給定一個 HashSet,任務是對這個 HashSet 進行排序。
例子:
輸入:HashSet:[Geeks, For, ForGeeks, GeeksforGeeks]
輸出:[For, ForGeeks, Geeks, GeeksforGeeks]
輸入:哈希集:[2, 5, 3, 1, 4]
輸出:[1、2、3、4、5]
HashSet 類實現了 Set 接口,由一個哈希表支持,該哈希表實際上是一個 HashMap 實例。不保證集合的迭代順序,這意味著該類不保證元素隨時間的恒定順序。感興趣的朋友可以了解一下哈希表常用方法。
這意味著 HashSet 不維護其元素的順序。因此 HashSet 的排序是不可能的。
但是HashSet的元素可以通過轉換成List或者TreeSet來間接排序,但是這樣會保留目標類型而不是HashSet類型的元素。
下面是上述方法的實現:
// Java program to sort a HashSet
import java.util.*;
public class GFG {
public static void main(String args[])
{
// Creating a HashSet
HashSet<String> set = new HashSet<String>();
// Adding elements into HashSet using add()
set.add("geeks");
set.add("practice");
set.add("contribute");
set.add("ide");
System.out.println("Original HashSet: "
+ set);
// Sorting HashSet using List
List<String> list = new ArrayList<String>(set);
Collections.sort(list);
// Print the sorted elements of the HashSet
System.out.println("HashSet elements "
+ "in sorted order "
+ "using List: "
+ list);
}
}
輸出:
原始HashSet:[實踐,極客,貢獻,ide]
使用 List 排序的 HashSet 元素:[contribute, geeks, ide, practice]
// Java program to sort a HashSet
import java.util.*;
public class GFG {
public static void main(String args[])
{
// Creating a HashSet
HashSet<String> set = new HashSet<String>();
// Adding elements into HashSet using add()
set.add("geeks");
set.add("practice");
set.add("contribute");
set.add("ide");
System.out.println("Original HashSet: "
+ set);
// Sorting HashSet using TreeSet
TreeSet<String> treeSet = new TreeSet<String>(set);
// Print the sorted elements of the HashSet
System.out.println("HashSet elements "
+ "in sorted order "
+ "using TreeSet: "
+ treeSet);
}
}
輸出:
原始HashSet:[實踐,極客,貢獻,ide]
使用 TreeSet 排序的 HashSet 元素:[contribute, geeks, ide, practice]
java中的HashMap,都是基于哈希表實現的,所以,哈希表的學習是必然的,在本站的數據結構和算法教程中還有更多的數據結構等你來學!
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習