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



How to sort a vector elements that contains the user define class object? (Note: If Suppose consid..

Answer / kalyan g

other way to achieve this is implementing comparator
interface and implement compare(object) method.

Is This Answer Correct ?    7 Yes 1 No

How to sort a vector elements that contains the user define class object? (Note: If Suppose consid..

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

How to sort a vector elements that contains the user define class object? (Note: If Suppose consid..

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

Post New Answer

More Core Java Interview Questions

How GUI component handle its own events?

1 Answers  


explain about casting of objects?

5 Answers  


how can we import the user defined package without classpath?

1 Answers   CSC, Infosys,


what is request processor?

1 Answers   Virtusa,


What is immutable class in java?

0 Answers  






Can a class have multiple constructors?

0 Answers  


What is instance synchronization?

0 Answers  


What is meant by Java ?

2 Answers   CMC, Infosys,


What is the difference between double and float variables in java?

0 Answers  


When super keyword is used?

0 Answers  


Is it possible to do method overloading and overriding at a time

3 Answers   L&T,


What is an array and a vector? How they different from each other?

4 Answers  


Categories