Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dúvidas sobr ordenação de lista com strings

Como ficaria a comparação para ordenação de listas com strings? Usaria o equals? Quais seriam os critérios?

1 resposta
solução

Fala Edson, tudo bem?

O operação == compara sempre o endereço de memória, o equals compara o conteúdo em si. Portanto, para comparar Strings sempre use o equals().

Para comparar duas listas você pode usar o List.equals() que returna true se os dois elementos tiverem o mesmo tamanho e os dois contiverem o mesmo conjunto de elementos exatamente na mesma ordem.

public class ArrayListExample 
{
    public static void main(String[] args) 
    {
        ArrayList<String> listOne = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "f"));

        ArrayList<String> listTwo = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e"));

        Collections.sort(listOne);
        Collections.sort(listTwo);

        //Compare unequal lists example

        boolean isEqual = listOne.equals(listTwo);      //false
        System.out.println(isEqual);

        //Compare equals lists example

        ArrayList<String> listThree = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "f"));

        isEqual = listOne.equals(listThree);      //true
        System.out.println(isEqual);
    }
}