You need to implement Comparable interface and override the compareTo.
Following example I have assumed that there is a member variable 'name' on which you will be comparing the objects.
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class MyObject implements Comparable<MyObject>{
private String name;
private int id;
public String getName() {
return name;
}
public MyObject(String name, int id) {
super();
this.name = name;
this.id = id;
}
@Override
public int compareTo(MyObject o) {
return name.compareTo(o.getName());
}
@Override
public String toString() {
return name+"\t"+id+"\n";
}
}
public class Test {
public static void main(String[] args) {
List<MyObject> list = new ArrayList<MyObject>();
list.add(new MyObject("John", 10));
list.add(new MyObject("Mark", 11));
list.add(new MyObject("Steve", 9));
Collections.sort(list);
System.out.println("Sorted list is :"+list);
}
}