Monday, 6 July 2015

Java : Collection Framework : Collections (Sort List of Country using anonymous comparator)


Click here to watch in Youtube : 
https://www.youtube.com/watch?v=z5h7f1BmV0M&list=UUhwKlOVR041tngjerWxVccw

Country.java
public class Country
{
    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;
    }
    
}
CollectionsSortExample.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/*
 *  Example of sort(List<T> list, Comparator<? super T> c) method
 */

public class CollectionsSortExample
{

    public static void main(String[] args)
    {
        Country india = new Country(1, "Bangladesh");
        Country china = new Country(4, "China");
        Country usa = new Country(3, "Australia");
        Country srilanka = new Country(2, "Denmark");

        ArrayList<Country> countryList = new ArrayList<Country>();
        countryList.add(india);
        countryList.add(china);
        countryList.add(usa);
        countryList.add(srilanka);

        System.out.println("Before Sort  : \n");

        for (Country country : countryList)
        {
            System.out.println("Country Id: " + country.getCountryId() + " || "
                    + "Country Name: " + country.getCountryName());
        }

        System.out.println("-------------------------------------------------");
        /*
         * Sorts the specified list according to the order induced by the
         * specified comparator.
         */
        Collections.sort(countryList, new Comparator<Country>()
        {

            /*
             * This method has logic to arrange the country objects in ascending
             * order based on Country Name.
             */

            @Override
            public int compare(Country o1, Country o2)
            {

                System.out.println("Compare method  has been called"
                        + "\nin order to arrange the country objects in "
                        + " ascending order \nbased on Country Name\n");
                return o1.getCountryName().compareTo(o2.getCountryName());
            }
        });

        System.out.println("-------------------------------------------------");
        System.out.println("\nAfter Sort  : \n");

        for (Country country : countryList)
        {
            System.out.println("Country Id: " + country.getCountryId() + " || "
                    + "Country Name: " + country.getCountryName());
        }

    }

}
Output
Before Sort  : 

Country Id: 1 || Country Name: Bangladesh
Country Id: 4 || Country Name: China
Country Id: 3 || Country Name: Australia
Country Id: 2 || Country Name: Denmark
-------------------------------------------------
Compare method  has been called
in order to arrange the country objects in  ascending order 
based on Country Name

Compare method  has been called
in order to arrange the country objects in  ascending order 
based on Country Name

Compare method  has been called
in order to arrange the country objects in  ascending order 
based on Country Name

Compare method  has been called
in order to arrange the country objects in  ascending order 
based on Country Name

Compare method  has been called
in order to arrange the country objects in  ascending order 
based on Country Name

Compare method  has been called
in order to arrange the country objects in  ascending order 
based on Country Name

-------------------------------------------------

After Sort  : 

Country Id: 3 || Country Name: Australia
Country Id: 1 || Country Name: Bangladesh
Country Id: 4 || Country Name: China
Country Id: 2 || Country Name: Denmark
To Download CollectionsSortDemoAnonymousComparator Project Click the below link
https://sites.google.com/site/javaee4321/java-collections/CollectionsSortDemoAnonymousComparator.zip?attredirects=0&d=1

See also:
  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • No comments:

    Post a Comment