package market;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.function.Consumer;
public class Oitinho {
public static void main(String[] args) {
// cria um comparador por tamanho da string
ComparadorPorTam comp = new ComparadorPorTam();
// -------------------------------------- método antigo (longo)
List<String> palavras = new ArrayList<String>();
palavras.add("Flavio Jr");
palavras.add("Junior Market");
palavras.add("Monster");
// usa uma classe estática
palavras.sort(comp);
System.out.println(palavras);
// usando lambda (mesmo coisa, mas menos código)
palavras.sort((s1, s2) -> {
if (s1.length() < s2.length())
return -1;
if (s1.length() > s2.length())
return 1;
return 0;
});
System.out.println(palavras);
// menor ainda
palavras.sort((s1, s2) -> Integer.compare(s1.length(), s2.length()));
System.out.println(palavras);
// mais um exemplo de lambda
Consumer<String> impressora = s -> System.out.println(s);
palavras.forEach(impressora);
}
}
class ComparadorPorTam implements Comparator<String> {
@Override
public int compare(String s1, String s2) {
if (s1.length() < s2.length())
return -1;
if (s1.length() > s2.length())
return 1;
return 0;
}
}