如何在 java 中对 HashSet 进行排序
HashSet 不保留元素的顺序,但是您可以使用两种方法转换 HashSet 并按升序对元素进行排序:使用方法 Collections.sort() 或者通过将元素复制到 TreeSet.1) 使用 Collections.sort()
方法对 HashSet 进行排序 Collections.sort() 允许您对实现接口的对象集合进行排序 java.util.List.应将 HashSet 元素复制到以下集合之一:ArrayList、LinkedList 或 Vector. 我们将使用 ArrayList 类,这是最简单的类。跨度> 接下来,我们将方法命名为 Collections.sort() 在我们的 ArrayList.
import java.util.ArrayList;
import java.util.Collections;
导入 java.util.HashSet;
import java.util.List;
public class TriHashSet {
public static void main(String[] args) {
//创建一个hashset
HashSet<字符串>hset = 新的 HashSet<字符串>();
//添加元素
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(列表);
System.out.println(排序后:”);
for(String s: hset)
System.out.println(s);
}
}< /div >< div >输出:< br / >< br / >< pre class=prettyprint lang-java” >排序前: < br / >b1< br / >a1< br / >b3< br / >b2< br / >a2< br / >a3< br / >排序后: < br / >b1< br / >a1< br / >b3< br / >b2< br / >a2< br / >a3< br / >
1) 使用 TreeSet 对 HashSet 进行排序
使用 TreeSet 非常简单。只需使用 HashSet.
import java.util.HashSet 作为参数创建一个 TreeSet 实例;输出:
导入 java.util.TreeSet;
public class TriHashSetTreeMap {
public static void main(String[] args) {
//创建一个 hashset
HashSethset = new HashSet ();
//添加元素
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
TreeSettreeset = new TreeSet<>(HSET);
System.out.println(排序后:”+treeset);
for(int n : treeset)
System.out.println(n);
}
}
排序前:[16, 5, 22, 8, 11, 14]
16
5
22
8
11
14
After红外: [5, 8, 11, 14, 16, 22]
5
8
11
14
16
22