comparable-and-comparator-in-java-example

package com.sort;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;


//Use of  comparable
public class SortArrayList {

public static void main(String [] args) {

List<Topics> lt = new ArrayList<Topics>();

lt.add(new Topics("1","a", "Test1"));

lt.add(new Topics("6","b", "Test6"));
lt.add(new Topics("5","c", "Test5"));

lt.add(new Topics("1","d", "Test2"));

Collections.sort(lt);

for (Topics topic : lt) {
System.out.println(topic.getName());
}


}
}

Topics.java

package com.sort;

public class Topics implements Comparable<Topics>
{
private String id;
private String name;
private String description;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Topics() {
}
public Topics(String id, String name, String description) {
super();
this.id = id;
this.name = name;
this.description = description;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}

//this method we need to implement to provide the sorting based on ID 
      @Override public int compareTo(Topics o) {
  return Integer.parseInt(this.id)- Integer.parseInt(o.id); }
}


Output 

a
d
c
b

Topics