public
TreeSet(Comparator<? super E> comparator)
Constructs
a new, empty tree set, sorted according to the specified comparator.
class Employee1{ Integer number; String name; Employee1(int number, String name){ this.number = number; this.name = name; } public String toString(){ return number + " " + name; } }
import java.util.Comparator; class EmployeeNameComparator implements Comparator{ public int compare(Object o1, Object o2){ Employee1 e1 = (Employee1) o1; Employee1 e2 = (Employee1) o2; return e1.name.compareTo(e2.name); } }
import java.util.Comparator; class EmployeeIdComparator implements Comparator{ public int compare(Object o1, Object o2){ Employee1 e1 = (Employee1) o1; Employee1 e2 = (Employee1) o2; return e1.number.compareTo(e2.number); } }
import java.util.*; class TreeSetConstructor3{ public static void main(String args[]){ TreeSet<Employee1> mySet1 = new TreeSet<> (new EmployeeNameComparator()); TreeSet<Employee1> mySet2 = new TreeSet<> (new EmployeeIdComparator()); Employee1 e1 = new Employee1(1, "Ram"); Employee1 e2 = new Employee1(2, "Naveed"); Employee1 e3 = new Employee1(3, "Jaideep"); mySet1.add(e1); mySet1.add(e2); mySet1.add(e3); mySet2.add(e1); mySet2.add(e2); mySet2.add(e3); System.out.println("Elements in mySet1 are"); System.out.println(mySet1); System.out.println("\nElements in mySet2 are"); System.out.println(mySet2); } }
Output
Elements in mySet1 are [3 Jaideep, 2 Naveed, 1 Ram] Elements in mySet2 are [1 Ram, 2 Naveed, 3 Jaideep]
As
you observe the output mySet1 displays the elements in name order,
where as mySet2 in number order.
No comments:
Post a Comment