Ordenando lista

import java.util.ArrayList;

import java.util.Collections;

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

         Collections.sort(palavrascomp);

         System.out.println(palavras);

 

         // -------------------------------------- método movo - java 8

         List<String> palavras2 = new ArrayList<String>();

         palavras2.add("Flavio Jr");

         palavras2.add("Junior Market");

         palavras2.add("Monster");

 

         // vai direto

         palavras2.sort(comp);

         System.out.println(palavras2);

 }

}

 

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;

 }

}