fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.ArrayList;
  7. import java.util.Comparator;
  8. import java.util.List;
  9. import java.util.stream.Collectors;
  10.  
  11. /* Name of the class has to be "Main" only if the class is public. */
  12. class Ideone
  13. {
  14. public static void main (String[] args) throws java.lang.Exception
  15. {
  16. List<List<String>> data = new ArrayList<>();
  17. List<String> list1 = new ArrayList<>();
  18. List<String> list2 = new ArrayList<>();
  19. List<String> list3 = new ArrayList<>();
  20.  
  21. list1.add("Siva");
  22. list1.add("20");
  23. list1.add("Hyd");
  24. list1.add("TA");
  25. list1.add("India");
  26.  
  27. list2.add("Suresh");
  28. list2.add("22");
  29. list2.add("Banglore");
  30. list2.add("KA");
  31. list2.add("India");
  32.  
  33. list3.add("Ramesh");
  34. list3.add("24");
  35. list3.add("Chennai");
  36. list3.add("TN");
  37. list3.add("India");
  38.  
  39. data.add(list1);
  40. data.add(list2);
  41. data.add(list3);
  42.  
  43. List<List<String>> listSorted1 = data.stream()
  44. .sorted((x, y) -> {
  45. int res = x.get(0).compareTo(y.get(0));
  46. if (res != 0) return res;
  47. res = Integer.valueOf(x.get(1)).compareTo(Integer.valueOf(y.get(1)));
  48. if (res != 0) return res;
  49. return x.get(2).compareTo(y.get(2));
  50. })
  51. .collect(Collectors.toList());
  52.  
  53. System.out.println("Sorting without mapping: \n" + listSorted1);
  54. }
  55. }
Success #stdin #stdout 0.14s 51084KB
stdin
Standard input is empty
stdout
Sorting without mapping: 
[[Ramesh, 24, Chennai, TN, India], [Siva, 20, Hyd, TA, India], [Suresh, 22, Banglore, KA, India]]