Sintaxe da função Sortby em Scala no Ubuntu 20.04
A função Sortyby classifica os elementos de uma lista de coleções que é mutável ou imutável. Internamente, faz uso do algoritmo de classificação de mesclagem que separa a lista de elementos em seções e classificações. A menos que um resultado de coleção classificado seja alcançado, isso continua recursivamente. A função Sortby aceita várias características para classificar a coleção com os componentes dispostos de acordo com o primeiro atributo primeiro, depois o segundo e assim por diante.
def Sortby [y] (f: (x) ⇒ y) (ordem implícita: matemática.Ordenando [y]): reprEste Sortby requer dois parâmetros: a função a ser usada e o atributo para classificar por.
Exemplo 1: Usando Sortby para classificar uma matriz em Scala
O método Sortby pode ser usado para ordenar os objetos de acordo com um ou mais atributos de classe em Scala. Se o escopo contiver um tipo de campo de pedido, podemos utilizar esta abordagem. A ordem ascendente também é a ordem de classificação normal neste caso.
Temos um objeto "Data1" no qual criamos a classe de caso como o "médico". A aula de caso "Doctor" tem três atributos chamados no construtor "médico". Os atributos são dados como "id", "nome" e "salário". Os tipos de dados de atributos também são atribuídos. Em seguida, estabelecemos o método principal em que definimos três variáveis - "D1", "D2" e "D3". Essas variáveis invocaram a classe de caso "Doctor" e definiram os valores do atributo médico da classe para cada variável.
Declaramos outra variável "NullList" que é mantida vazia inicialmente. Primeiro, classificamos a lista com base no atributo "nome" que é chamado dentro da função Sortby. Em seguida, imprimimos a lista classificada com base no atributo "salário". A função Sortby é definida dentro da função Println. Quando os dados são classificados, eles serão impressos.
A saída mostra as duas listas classificadas geradas pela função Sortby com base nos atributos "nome" e "salário".
Exemplo 2: Usando Sortby para classificar uma matriz em ordem inversa em scala
No código anterior, utilizamos a função Sortby para classificar uma matriz e classifica a matriz em ordem ascendente. Ao alterar um pouco o procedimento, podemos colocar os dados em ordem decrescente da seguinte forma:
Dentro do "Data2", temos uma classe de "frutas" com os atributos definidos "id", "nome" e "preço". Cada atributo é definido com o tipo de dados. Em seguida, definimos o método principal em que atribuímos três variáveis - "F1", "F2" e "F3". A classe "fruta" é invocada dentro de cada variável. Atribuímos o valor do atributo a ele.
Em seguida, geramos a lista vazia que é inicializada dentro da variável “EMP_LIST”. Atribuímos a função Sortby para classificar os dados em ordem inversa para a instrução println.
Os dados classificados são obtidos com base no atributo "nome" em ordem decrescente, como mostrado no seguinte prompt:
Exemplo 3: Usando Sortby para classificar pelo segundo atributo em Scala
Essa abordagem, que classifica os dados coletados sobre o primeiro atributo, também é útil para agrupar os dados com base em vários atributos. Nesse caso, o segundo atributo é usado para classificar o primeiro atributo se seus valores forem iguais.
Dentro do nosso objeto "Data3", definimos a classe de caso "aluno". O construtor é criado para os atributos da classe Case "que leva os atributos" ID "," Nome "e" Marks ". Cada atributo tem o tipo de dados associado. Em seguida, definimos os valores contra cada atributo em nosso método principal. Existem seis variáveis declaradas como "S1", "S2", "S3", "S4", "S5" e, "S6". Dentro dessas variáveis, chamamos a aula de "aluno" e passamos os valores para cada atributo de acordo com o tipo especificado.
Depois disso, temos uma variável "s_list" onde o vazio é criado. Em seguida, temos uma declaração impressa onde a função Sortby é chamada. Fornecemos dois atributos, "Nome" e "Marks", para a função Sortby.
Como você pode ver na produção, repetimos os nomes dos alunos. Então, a função Sortby classificou os dados de acordo com o segundo atributo que é "marcas".
Exemplo 4: Usando Sortby para classificar um valor de mapa em Scala
Usando a técnica Sortby, podemos encomendar o mapa por chave, de baixa a alta ou de alta a baixa. Vamos tentar compreendê -lo melhor usando um exemplo:
Para usar o ListMap, importamos o pacote Scala para ele. Em seguida, criamos o objeto "Data4" e chamamos a definição do método principal dentro dele. Em seguida, dentro da seção principal, declaramos a variável "mapa" e definimos a função do mapa nela.
A função do mapa tem três pares de chave/valor. Para classificar o mapa por valor, estabelecemos outra variável "resultado" e chamamos o ListMap. No ListMap, temos o Toseq.Sortby função que classifica o mapa por valor em uma sequência de mapa.
Da função Sortby, classificamos o mapa por valor em uma sequência de mapa da Scala. O resultado do mapa classificado é exibido na captura de tela a seguir do terminal:
Conclusão
No artigo acima mencionado, aprendemos sobre as funções do Sortby no paradigma de programação orientado a objetos de Scala. Descobrimos que, usando o método Sortby, poderíamos criar uma coleção ordenada e classificada com apenas uma linha de código. Aprendemos como o método Scala Sortby funciona com vários atributos para classificar os dados adequadamente. Como resultado, o Scala Sortby fornece um método claro e eficaz para classificar em Scala.