Saturday, January 21, 2017

Sorting using Lamda in java 8

Sorting of Strings using different sort implementations

public class Sorting {
     public static void main(String[] args) {
     List<String> = Arrays.asList("2018AF090","2013PK200","2014US100","2016IN150","2009CH090");
System.out.println("List before sorting"+ list);
          
           // Sorting list by CountryName using Comparator
           /*Collections.sort(list, new SortByCountryName());
           System.out.println("List after sorting using Comparator"+list);*/
          
           // Sorting list by CountryName using Lamda
           Collections.sort(list,(o1,o2)->{
                String cN1=o1.substring(4, 6);
                String cN2=o2.substring(4, 6);
                return cN1.compareTo(cN2);
           });
     System.out.println("Sorting list by CountryName using Lamda" +  list );
     }
}

class SortByCountryName implements Comparator<String>{
     @Override
     public int compare(String o1, String o2) {
           String cN1=o1.substring(4, 6);
           String cN2=o2.substring(4, 6);
           return cN1.compareTo(cN2);
     }
}

Ouput:

List before Sorting[2018AF090, 2013PK200, 2014US100, 2016IN150, 2009CH090]


Sorting list by CountryName using Lamda[2018AF090, 2009CH090, 2016IN150, 2013PK200, 2014US100]

No comments:

Post a Comment