Como ficaria a comparação para ordenação de listas com strings? Usaria o equals? Quais seriam os critérios?
Como ficaria a comparação para ordenação de listas com strings? Usaria o equals? Quais seriam os critérios?
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);
}
}