└── 1775-Java-8-default-methods ├── Clase1.java └── Clase2.java /1775-Java-8-default-methods/Clase1.java: -------------------------------------------------------------------------------- 1 | package alura; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Collections; 5 | import java.util.Comparator; 6 | import java.util.List; 7 | 8 | public class Clase1 { 9 | 10 | public static void main(String[] args) { 11 | 12 | List cursos = new ArrayList<>(); 13 | cursos.add("curso de fisica"); 14 | cursos.add("curso de java 8"); 15 | cursos.add("curso de geometria del espacio"); 16 | cursos.add("curso de historia universal"); 17 | 18 | Collections.sort(cursos, new CompararClase1()); 19 | 20 | for (String curso: cursos) { 21 | System.out.println(curso); 22 | } 23 | } 24 | } 25 | 26 | class CompararClase1 implements Comparator { 27 | 28 | @Override 29 | public int compare(String o1, String o2) { 30 | if(o1.length() > o2.length()){ 31 | return 1; 32 | } else if (o1.length() < o2.length()){ 33 | return -1; 34 | } 35 | return 0; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /1775-Java-8-default-methods/Clase2.java: -------------------------------------------------------------------------------- 1 | package alura; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Collections; 5 | import java.util.Comparator; 6 | import java.util.List; 7 | import java.util.function.Consumer; 8 | 9 | public class Clase2 { 10 | 11 | public static void main(String[] args) { 12 | 13 | List cursos = new ArrayList<>(); 14 | cursos.add("curso de fisica"); 15 | cursos.add("curso de java 8"); 16 | cursos.add("curso de geometria del espacio"); 17 | cursos.add("curso de historia universal"); 18 | 19 | cursos.sort(new CompararClase2()); 20 | 21 | cursos.forEach(new ConsumidorClase2()); 22 | } 23 | } 24 | 25 | class ConsumidorClase2 implements Consumer { 26 | 27 | @Override 28 | public void accept(String s) { 29 | System.out.println(s); 30 | } 31 | } 32 | 33 | class CompararClase2 implements Comparator { 34 | 35 | @Override 36 | public int compare(String o1, String o2) { 37 | if(o1.length() > o2.length()){ 38 | return 1; 39 | } else if (o1.length() < o2.length()){ 40 | return -1; 41 | } 42 | return 0; 43 | } 44 | } 45 | --------------------------------------------------------------------------------