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 |
what are the analysis of an object
What is function and method in java?
What is size () in java?
what is multitherading
What is the difference between overriding & overloading?
What is the use of set in java?
How to extract HashMap values?
What is a class instance variable?
Explain 5 io best practices?
Why is static used?
How to connect to a remote database using Applet?
How does a for loop work?