TreeMap’s constructor to sort java Collection framework classes



If elements are stored in stored in HashSet/ArrayList or any other class that implements Collection  we can use TreeSet’s constructor for sorting.



Let’s see Example >

Collection-
       Collection<Integer> collection = new HashSet<Integer>();
       collection.add(3);
       collection.add(1);
       collection.add(2);


TreeSet’s constructor -
       Set<Integer> treeSet = new TreeSet<Integer>(collection);



Full program -
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
/**
* @author AnkitMittal
* Copyright (c), AnkitMittal JavaMadeSoEasy.com
* Main class
*/
public class SortSet {
  public static void main(String...a){
      Collection<Integer> collection = new HashSet<Integer>();
      collection.add(3);
      collection.add(1);
      collection.add(2);

      //TreeSet's constructor
      Set<Integer> treeSet = new TreeSet<Integer>(collection);
      System.out.println("treeSet : "+treeSet);
     
  }
}
/*OUTPUT
treeSet : [1, 2, 3]
*/



Important Note :
  1. If any class that implements  Collection contains null  - If any class that implements  Collection contains null  and is converted into TreeSet than NullPointerException (RunTimeException) will be thrown.
  2. If any class that implements List is converted into TreeSet -  Than that class’s duplicate elements will be lost, because any of the Set implementation ( TreeSet or may be any other class) does not allow to store duplicate elements.




RELATED LINKS>

Program to sort Employee list on basis of name in ascending order by implementing Comparable interface and overriding its compareTo method



eEdit
Must read for you :