1
resposta

AULA 8 EXERCÍCIO 5 - CÓDIGO NÃO FUNCIONA

Rodei o código do enunciado e o resultado foi a ordenação pelo tamanho e não pelo conteudo dos strings.

1 resposta

Olá Maurício, tudo bem com você?

Isso mesmo. No exemplo usado no exercício, usamos o método length() da classe String para pegarmos o tamanho das Strings que adicionamos na lista de nomes:

@Override
public int compare(String s1, String s2) {
    return s1.length() - s2.length();

Caso você queira comparar pelo conteúdo, talvez faça mais sentido usar o método compareTo da classe String. Dessa forma, só precisamos fazer uma pequena alteração no método compare(). Então, ao invés de s1.length() - s2.length(), ficaria assim:

@Override
public int compare(String s1, String s2) {
    return s1.compareTo(s2);

Ou, usando expressões lambda, você pode substituir tudo por:

nomes.sort((s1, s2) -> s1.compareTo(s2));

Testa aí e depois me avisa se funcionou! ;)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software