beginnersbook.com

  • Home
  • All Tutorials
    • Learn Servlet
    • Learn JSP
    • Learn JSTL
    • Learn C
    • Learn C++
    • Learn MongoDB
    • Learn XML
    • Learn Python
    • Learn Perl
    • Learn Kotlin
  • Core Java
  • OOPs
  • Collections
  • Java I/O
  • JSON
  • DBMS

Java – How to Sort a HashSet?

By Chaitanya Singh | Filed Under: Java.util package

As we know HashSet doesn’t sort elements, in fact it displays them in random order. While dealing with HashSet we may come across a situation where we need to sort it explicitly. we need to write a logic to sort them when required. In this article we are going to see an example where we are sorting a HashSet using two different methods.

/* Program to Sort a HashSet using two different 
 * methods. 
 * Method 1:By using List interface
 * Method 2:By using TreeSet
 */
import java.util.Collections;
import java.util.ArrayList;
import java.util.List;
import java.util.HashSet;
import java.util.TreeSet;

public class SortingHashSetDemo {
   public static void main(String args[]) {

       HashSet<String> fruits = new HashSet<String>();
           
       fruits.add("Orange");
       fruits.add("Apple");
       fruits.add("Banana");
       fruits.add("Guava");
       fruits.add("Pear");
           
       System.out.println("HashSet elements before sorting: "+fruits);
           
           
       // Method 1: Sorting HashSet using List interface
       List<String> fruitList = new ArrayList<String>(fruits);
       Collections.sort(fruitList);
           
       // Displaying list
       System.out.println("HashSet elements after sorting: "+fruitList);
           
       // Method 2: Sorting using TreeSet
       TreeSet<String> tset = new TreeSet<String>(fruits);
           
       System.out.println("HashSet elements after using TreeSet: "+tset);
   }

}

Output:

HashSet elements before sorting: [Pear, Guava, Apple, Banana, Orange]
HashSet elements after sorting: [Apple, Banana, Guava, Orange, Pear]
HashSet elements after using TreeSet: [Apple, Banana, Guava, Orange, Pear]

In method 1, we created a list and get the HashSet elements copied to it, then we have used the Collections.sort() method that sorts the elements of a list.
In method 2, we created a TreeSet and got the HashSet elements in TreeSet by providing the HashSet reference while creating TreeSet. As we are aware that TreeSet sorts its elements in ascending order, we ultimately got our HashSet elementns sorted out.
As you can see, we got the HashSet sorted out using above mentioned methods. The TreeSet method is preferred one because TreeSet is created for this purpose only.

Enjoyed this post? Try these related posts

  1. Convert HashSet to a List/ArrayList
  2. LinkedList push() and pop() methods – Java
  3. Java – LinkedList peek(), peekFirst() and peekLast() methods
  4. How to check if a HashMap is empty or not?
  5. Java – Get the index of last occurrence of an element in LinkedList
  6. Iterate a LinkedList in reverse sequential order – java

Comments

  1. Anilkumar says

    September 18, 2015 at 11:53 AM

    Hello,
    Thank you for providing such nice stuff
    Your tutorials are very good and your way of explanation is quite good easy to understand..why don’t you provide another tutorials like Android

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recently Added..

  • JSON Tutorial
  • Java Regular Expressions Tutorial
  • Java Enum Tutorial
  • Java Annotations Tutorial

Copyright © 2012 – 2021 BeginnersBook . Privacy Policy . Sitemap