如何在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]