Click here to watch in Youtube :https://www.youtube.com/watch?v=WYCwpE9NZig&list=UUhwKlOVR041tngjerWxVccwCountry.java public class Country implements Comparable<Object>
{
private int countryId;
private String countryName;
public Country(int countryId, String countryName)
{
super();
this.countryId = countryId;
this.countryName = countryName;
}
public int getCountryId()
{
return countryId;
}
public void setCountryId(int countryId)
{
this.countryId = countryId;
}
public String getCountryName()
{
return countryName;
}
public void setCountryName(String countryName)
{
this.countryName = countryName;
}
/*
* This method has logic to arrange the Country objects in Ascending order based
* on CountryId
*/
@Override
public int compareTo(Object object)
{
System.out.println("\n"+"compareTo method is called by sort method : "+ object);
/*
* If this.countryId < country.countryId:then compare method will return
* -1
*
* If this.countryId > country.countryId:then compare method will return
* 1
*
* If this.countryId==country.countryId:then compare method will return
* 0
*/
Country country = (Country) object;
return (this.countryId < country.countryId) ? -1
: (this.countryId > country.countryId) ? 1 : 0;
}
}
CollectionsSortExample.java import java.util.ArrayList;
import java.util.Collections;
/*
* Example of sort(List<T> list) method
*/
public class CollectionsSortExample
{
public static void main(String[] args)
{
Country india = new Country(1, "India");
Country china = new Country(4, "China");
Country usa = new Country(3, "USA");
Country srilanka = new Country(2, "Srilanka");
ArrayList<Country> countryList = new ArrayList<Country>();
countryList.add(india);
countryList.add(china);
countryList.add(usa);
countryList.add(srilanka);
System.out.println("Before Sort : ");
for (Country country : countryList)
{
System.out.println("Country Id: " + country.getCountryId() + " || "
+ "Country name: " + country.getCountryName());
}
/*
* Sorts the specified list into ascending order, according to the
* natural ordering of its elements.
*
* All elements in the list must implement the Comparable interface.
*/
Collections.sort(countryList);
System.out.println("\nAfter Sort : ");
for (Country country : countryList)
{
System.out.println("Country Id: " + country.getCountryId() + " || "
+ "Country name: " + country.getCountryName());
}
}
}
Output Before Sort :
Country Id: 1 || Country name: India
Country Id: 4 || Country name: China
Country Id: 3 || Country name: USA
Country Id: 2 || Country name: Srilanka
compareTo method is called by sort method : Country@659e0bfd
compareTo method is called by sort method : Country@2a139a55
compareTo method is called by sort method : Country@2a139a55
compareTo method is called by sort method : Country@659e0bfd
compareTo method is called by sort method : Country@15db9742
compareTo method is called by sort method : Country@659e0bfd
After Sort :
Country Id: 1 || Country name: India
Country Id: 2 || Country name: Srilanka
Country Id: 3 || Country name: USA
Country Id: 4 || Country name: China