0

Dica rápida: Função sort() em Arrays de String Kotlin

Julio Santos
Julio Santos

Olá, pessoal. Gostaria de deixar uma dica simples que talvez ajude alguém que tenha a mesma dúvida que tive.


Ao assistir a aula sobre Arrays contendo Inteiros a função sort() foi apresentada. Basicamente, ela serve para ordenar um array do menor elemento para o maior. Até aí ok, certo? Fui verificar como o sort() se comportava num Array de strings e *BUUM* uma dúvida. Qual conceito ele usa para ordenar as strings? Ele vai usar o índice e simplesmente inverter o Array do último elemento para o primeiro? Ele vai contar quantas letras possui cada palavra e ordenar da menor para a maior? A resposta é simples: Ele irá ordenar por ordem alfabética!


Veja um exemplo:


val names = arrayOf("Julio", "Ana", "Raquel", "Zé")
names.forEach { println(it) }


A saída seria exatamente como está no Array: Julio...Ana...Raquel...Zé


Agora vamos aplicar o sort()


names.sort()
names.forEach { println(it) }


Agora a saída seria: Ana...Julio...Raquel...Zé (em ordem alfabética!)


E se eu printar names[0] ? Quando declarei o Array "Julio" estava na posição 0, porém, após o sort() reorganizar o array, agora, se fizermos print(names[0]) a saída será Ana, pois é o primeiro elemento daquele Array que foi reorganizado.


Tudo bem, e se eu tiver dois elementos que começam com a mesma letra? Então o Kotlin irá considerar a segunda como critério de organização, e, caso tenhamos as duas primeiras letras iguais, o critério será a terceira letra e assim sucessivamente. Quer um exemplo pra deixar mais claro ainda? Vamos lá!


Vamos declarar um array assim:

val namesExemple = arrayOf("bbb", "abb", "aba", "bab" )

agora, se fizermos:

namesExemple.sort()


E depois:

namesExemple.forEach { println(it) }

A saída será:

aba

abb

bab

bbb


É uma dica simples, pessoal. Mas espero que ajude!


Bons estudos Devs

0
0

Comentários (1)

0
Felipe Santos

Felipe Santos

21/09/2021 21:21

Ótimo Julio, obrigado por compartilhar!

None

Brasil