Skip to content

Instantly share code, notes, and snippets.

@ulisseshen
Created March 1, 2023 18:12
Show Gist options
  • Save ulisseshen/0ab3ee152126debd0e2bce488514cc0d to your computer and use it in GitHub Desktop.
Save ulisseshen/0ab3ee152126debd0e2bce488514cc0d to your computer and use it in GitHub Desktop.
Código de comparação necessário para ordenar o nome de maneira asc e por idade desc
void main() {
//código anteriores aqui
pessoas.sort((a, b) {
// Primeiro, comparar pelo campo nome
int comparacao = a.nome.compareTo(b.nome);
if (comparacao != 0) {
return comparacao;
}
// Se os nomes forem iguais, comparar pelo campo idade
// adicionamos o sinal de menos para ser Desc
return -a.idade.compareTo(b.idade);
});
print("---- pós sort idade desc---");
pessoas.forEach(print);
// ---- pós sort idade desc---
// João, 25
// João, 18
// João, 17
// Lucas, 25
// Lucas, 15
// Maria, 37
// Maria, 34
// Maria, 18
// Pedro, 23
// Pedro, 20
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment