TreeSet:-TreeSet
is an implemented class of Set interface where TreeSet is a group of individual
objects as a single entity where duplicates are not allowed but insertion
should be according to some sorting order and elements must be comparable. If
we are not writing some additional code for sorting than automatically elements
insert according to the default natural sorting (ascending order for numbers),
if we want to customize sorting than we have to implements Comparator interface
present in java.util package and implements compare method. Default natural
sorting is done by the comparable interface which is present in java.lang
package, having only one method compareTo.
Example1:-TestTreeSet.java
import java.util.*;
class TestTreeSet
{
public static void main(String[]args)
{
TreeSet ts=new TreeSet();
ts.add(50);
ts.add(40);
ts.add(60);
ts.add(30);
ts.add(70);
ts.add(20);
ts.add(80);
ts.add(10);
System.out.println(ts);
Iterator itr=ts.iterator();
while(itr.hasNext())
{
System.out.println(itr.next());
}
}
}
Output:-
C:\JAVATECH>javac TestTreeSet.java
C:\JAVATECH>java TestTreeSet
[10, 20, 30, 40, 50, 60, 70, 80]
10
20
30
40
50
60
70
80
Example2:-
TestTreeSet.java
import java.util.*;
class TestTreeSet
{
public static void main(String[]args)
{
TreeSet ts=new TreeSet();
ts.add("Mango");
ts.add("Orange");
ts.add("Graps");
ts.add("Apple");
ts.add("Bhupendra");
ts.add("bhupendra");
ts.add("apple");
System.out.println(ts);
Iterator itr=ts.iterator();
while(itr.hasNext())
{
System.out.println(itr.next());
}
}
}
Output:-
C:\JAVATECH>javac TestTreeSet.java
C:\JAVATECH>java TestTreeSet
[Apple, Bhupendra, Graps, Mango, Orange, apple,
bhupendra]
Apple
Bhupendra
Graps
Mango
Orange
apple
bhupendra
If
we want to customize sorting then we have to implements Comparator interface
and implements compare method.
Example3:-
TreeSort.java
import java.util.*;
class Student
{
int id;
String name,course;
Student(int id,String name,String course)
{
this.id=id;
this.name=name;
this.course=course;
}
}
class MyComp implements Comparator<Student>
{
public int compare(Student p,Student q)
{
if(p.id>q.id)
{
return -1;
}
else
{
return 1;
}
}
}
class TreeSort
{
public static void main(String[]args)
{
TreeSet <Student>tr=new TreeSet<Student>(new
MyComp());
Student s1=new
Student(101,"amit","MCA");
Student s2=new Student(102,"sumit","MA");
Student s3=new Student(103,"sachin","BCA");
Student s4=new Student(104,"neha","M-Tech");
tr.add(s1);
tr.add(s2);
tr.add(s3);
tr.add(s4);
Iterator itr=tr.iterator();
while(itr.hasNext())
{
Student s=(Student)itr.next();
System.out.println(s.id+" "+s.name+" "+s.course);
}
}
}
Output:-
C:\JAVATECH>javac TreeSort.java
C:\JAVATECH>java TreeSort
101
amit MCA
102 sumit MA
103 sachin BCA
104 neha M-Tech
Example4:-
TreeSort.java
import java.util.*;
class Student
{
int id;
String name,course;
Student(int id,String name,String course)
{
this.id=id;
this.name=name;
this.course=course;
}
}
class MyComp implements Comparator<Student>
{
public int compare(Student p,Student q)
{
if(p.id>q.id)
{
return -1;
}
else
{
return 1;
}
}
}
class TreeSort
{
public static void main(String[]args)
{
TreeSet <Student>tr=new
TreeSet<Student>(new MyComp());
Student s1=new
Student(101,"amit","MCA");
Student s2=new Student(102,"sumit","MA");
Student s3=new Student(103,"sachin","BCA");
Student s4=new Student(104,"neha","M-Tech");
tr.add(s1);
tr.add(s2);
tr.add(s3);
tr.add(s4);
Iterator itr=tr.iterator();
while(itr.hasNext())
{
Student s=(Student)itr.next();
System.out.println(s.id+" "+s.name+" "+s.course);
}
}
}
Output:-
C:\JAVATECH>javac TreeSort.java
C:\JAVATECH>java TreeSort
104 neha M-Tech
103 sachin BCA
102 sumit MA
101 amit MCA
Comments
Post a Comment