如何在Java中对哈希集进行排序
时间:2020-02-23 14:35:35 来源:igfitidea点击:
在本教程中,我们将看到如何在Java中对哈希集进行排序。
HashSet是一个集合,它不会以任何顺序存储元素。
我们可能会遇到我们需要对哈希集进行排序的情况。
可以有很多方法来排序哈希集,我们将在这里看到两种方法。
使用TreeSet
我们可以使用TreeSet进行排序哈希集。
如我们所知,TreeSet默认情况下以升序存储对象。
package org.igi.theitroad;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
public class SortHashSetMain {
public static void main(String[] args) {
//Creating a new HashSet
Set<String> set = new HashSet<String>();
set.add("John");
set.add("Martin");
set.add("Andy");
set.add("Steve");
set.add("Mary");
System.out.println("Before Sorting:");
System.out.println(set);
/*
* Use TreeSet to sort HashSet
*/
TreeSet<String> sortedSet=new TreeSet<>(set);
System.out.println("==================================");
System.out.println("After Sorting:");
System.out.println(sortedSet);
}
}
When you run above program, you will get below output:
Before Sorting: [Steve, John, Martin, Andy, Mary] ================================== After Sorting: [Andy, John, Martin, Mary, Steve]
使用集合的排序
我们可以将HashSet转换为列表,然后使用CollectionS的Sort方法对HashSet进行排序。
package org.igi.theitroad;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class SortHashSetMain {
public static void main(String[] args) {
//Creating a new HashSet
Set<String> set = new HashSet<String>();
set.add("John");
set.add("Martin");
set.add("Andy");
set.add("Steve");
set.add("Mary");
System.out.println("Before Sorting:");
System.out.println(set);
/*Convert to list and then use sort method
*/
List<String> nameList = new ArrayList<String>(set);
Collections.sort(nameList);
System.out.println("==================================");
System.out.println("After Sorting:");
System.out.println(nameList);
}
}
运行上面的程序时,我们将得到以下输出:
Before Sorting: [Steve, John, Martin, Andy, Mary] ================================== After Sorting: [Andy, John, Martin, Mary, Steve]

