import
java.util.Comparator;
import
java.util.TreeSet;
class
friendsMarks {
String name;
String nickName;
int
marks;
public
friendsMarks(String name, String nickName,
int
marks)
{
this
.name = name;
this
.nickName = nickName;
this
.marks = marks;
}
public
String getName() {
return
name; }
public
void
setName(String name) {
this
.name = name; }
public
int
getMarks() {
return
marks; }
public
void
setMarks(
int
marks) {
this
.marks = marks; }
public
String getNickName() {
return
nickName; }
public
void
setNickName(String nickName)
{
this
.nickName = nickName;
}
public
String toString()
{
return
"friendsMarks{"
+
"name='"
+ name + '\
''
+
", nickName='"
+ nickName +
'\''
+
", marks="
+ marks +
'}'
;
}
}
class
nameCompare
implements
Comparator<friendsMarks> {
@Override
public
int
compare(friendsMarks friend1,
friendsMarks friend2)
{
return
friend1.getName().compareTo(
friend2.getName());
}
}
class
marksCompare
implements
Comparator<friendsMarks> {
@Override
public
int
compare(friendsMarks f1, friendsMarks f2)
{
if
(f1.getMarks() > f2.getMarks()) {
return
1
;
}
else
{
return
-
1
;
}
}
}
class
nickNameCompare
implements
Comparator<friendsMarks> {
@Override
public
int
compare(friendsMarks obj1, friendsMarks obj2)
{
return
obj1.getNickName().compareTo(
obj2.getNickName());
}
}
public
class
Main {
public
static
void
main(String[] args)
{
TreeSet<friendsMarks> treeSet
=
new
TreeSet<>(
new
marksCompare());
treeSet.add(
new
friendsMarks(
"Raushan"
,
"Chamgader"
,
99
));
treeSet.add(
new
friendsMarks(
"Yashdeep"
,
"Dopa"
,
95
));
treeSet.add(
new
friendsMarks(
"Rupesh"
,
"Gian"
,
92
));
treeSet.add(
new
friendsMarks(
"Shivam"
,
"Gorilla"
,
47
));
treeSet.add(
new
friendsMarks(
"Sarthak"
,
"Nagin"
,
78
));
treeSet.add(
new
friendsMarks(
"Sonika"
,
"Chipkali"
,
67
));
treeSet.add(
new
friendsMarks(
"Himanshu"
,
"Lalten"
,
57
));
System.out.println(
"Sorting on the basis of marks"
);
for
(friendsMarks tree : treeSet)
System.out.println(tree);
TreeSet<friendsMarks> treeSet1
=
new
TreeSet<>(
new
nameCompare());
treeSet1.add(
new
friendsMarks(
"Raushan"
,
"Chamgader"
,
99
));
treeSet1.add(
new
friendsMarks(
"Yashdeep"
,
"Dopa"
,
95
));
treeSet1.add(
new
friendsMarks(
"Rupesh"
,
"Gian"
,
92
));
treeSet1.add(
new
friendsMarks(
"Shivam"
,
"Gorilla"
,
47
));
treeSet1.add(
new
friendsMarks(
"Sarthak"
,
"Nagin"
,
78
));
treeSet1.add(
new
friendsMarks(
"Sonika"
,
"Chipkali"
,
67
));
treeSet1.add(
new
friendsMarks(
"Himanshu"
,
"Lalten"
,
57
));
System.out.println(
"\n\nSorting on the basis of name"
);
for
(friendsMarks tree : treeSet1)
System.out.println(tree);
TreeSet<friendsMarks> treeSet2
=
new
TreeSet<>(
new
nickNameCompare());
treeSet2.add(
new
friendsMarks(
"Raushan"
,
"Chamgader"
,
99
));
treeSet2.add(
new
friendsMarks(
"Yashdeep"
,
"Dopa"
,
95
));
treeSet2.add(
new
friendsMarks(
"Rupesh"
,
"Gian"
,
92
));
treeSet2.add(
new
friendsMarks(
"Shivam"
,
"Gorilla"
,
47
));
treeSet2.add(
new
friendsMarks(
"Sarthak"
,
"Nagin"
,
78
));
treeSet2.add(
new
friendsMarks(
"Sonika"
,
"Chipkali"
,
67
));
treeSet2.add(
new
friendsMarks(
"Himanshu"
,
"Lalten"
,
57
));
System.out.println(
"\n\nSorting on the basis of nick-name"
);
for
(friendsMarks tree : treeSet2)
System.out.println(tree);
}
}