How to sort a vector elements that contains the user define
class object? (Note: If Suppose consider, A Student class
contain two data members. They are String studentName and
int rollNo. I am creating Four objects for this class, each
object contains students details like name and roll no. Now
i am storing that objects in vector and if i retiving the
elements from the vector means then it should be display in
sorting order)
Answers were Sorted based on User's Feedback
Answer / naren reddy
For sorting Any user defined class,We need to implement the
userdefined class with comparable or comparator
interfcae.Then only your collections.sort(ArrayList al)
will work,Otherwise it won't work.
Ex: class Employee implements Comparable{
private int age;
public void setAge(int age){
this.age=age;
}
public int getAge(){
return this.age;
}public int compareTo(Object otherEmployee){
/*
If passed object is of type other than Employee,
throw ClassCastException.
*/
if(!(otherEmployee instanceof Employee)){
throw new ClassCastException("Invalid object");
}
int age = ((Employee) otherEmployee).getAge();
if(this.getAge() > age)
return 1;
else if ( this.getAge() < age )
return -1;
else
return 0;
}
}
Is This Answer Correct ? | 2 Yes | 0 No |
Answer / vignesh_27
Hai The solution for this problem is.
import java.util.Collections;
import java.util.Vector;
class PointCoordinates {
private String x;
private int y;
public PointCoordinates(String x, int y) {
this.x = x;
this.y = y;
}
public String getX() {
return x;
}
public int getY() {
return y;
}
// Custom toString() Method.
public String toString() {
return x + " " + y;
}
}
public class ToStringFunction {
public static void main(String args[]) {
Vector v = new Vector();
PointCoordinates point1 = new
PointCoordinates("Rajan", 10);
PointCoordinates point2 = new
PointCoordinates("Vikky", 30);
PointCoordinates point3 = new
PointCoordinates("Zari",20);
PointCoordinates point4 = new
PointCoordinates("Ajai",80);
PointCoordinates point5 = new
PointCoordinates("Kennedi", 90);
v.addElement(point1.toString());
v.addElement(point2.toString());
v.addElement(point3.toString());
v.addElement(point4.toString());
v.addElement(point5.toString());
Collections.sort(v);
for(int i=0;i<v.size();i++)
System.out.println(v.get(i));
}
}
Is This Answer Correct ? | 10 Yes | 9 No |
How GUI component handle its own events?
explain about casting of objects?
how can we import the user defined package without classpath?
what is request processor?
What is immutable class in java?
Can a class have multiple constructors?
What is instance synchronization?
What is meant by Java ?
What is the difference between double and float variables in java?
When super keyword is used?
Is it possible to do method overloading and overriding at a time
What is an array and a vector? How they different from each other?