Scala Sortby

Scala Sortby
Die Bestellung oder Organisation der Komponenten in einer sequentiellen oder alphabetischen Reihenfolge ist der Sortierprozess. Eine einzigartige Sortierfunktion sowohl für veränderliche als auch für unveränderliche Skala -Sammlungen wird entwickelt und als Scala -Sortierung bezeichnet. Eine oder mehrere Attribute einer Scala -Sammlung können mit der Sortyby -Funktion sortiert werden. Es verwendet eine Funktion, die auf der Benutzerseite angegeben ist, um die Komponenten einer Sammlung zu sortieren. Das sekische Merkmal enthält es. Um die Sammlung nach unseren Anforderungen zu sortieren, können wir eine Vielzahl von Datenstrukturen und die Sortby -Funktion nutzen. Wir werden den Scala Sortby zu diesem Thema studieren.

Syntax der Sortby -Funktion in Scala in Ubuntu 20.04

Die Sortyby -Funktion sortiert die Elemente einer Sammelliste, die entweder veränderlich oder unveränderlich ist. Innen verwendet es den Merge -Sort -Algorithmus, der die Elementliste in Abschnitte und Sortierungen über sie unterteilt. Sofern ein sortiertes Sammelergebnis nicht erzielt wird, wird dies rekursiv fortgesetzt. Die Sortby -Funktion akzeptiert mehrere Eigenschaften, um die Sammlung mit den Komponenten zu sortieren, die nach dem ersten Attribut zuerst, dann dem zweiten und so weiter angeordnet sind.

def sortby [y] (f: (x) ⇒ y) (implizite Reihenfolge: Mathematik.Bestellung [y]): reprieren

Diese Sortby erfordert zwei Parameter: die zu verwendende Funktion und das Attribut zum Sortieren nach.

Beispiel 1: Verwenden Sie Sortby zum Sortieren eines Arrays in Scala

Die Sortby -Methode kann verwendet werden, um die Objekte gemäß einer oder mehreren Klassenattributen in Scala zu bestellen. Wenn das Zielfernrohr einen Bestellfeldtyp enthält, können wir diesen Ansatz verwenden. Die aufsteigende Reihenfolge ist in diesem Fall auch die normale Sortierreihenfolge.

Wir haben ein Objekt "Data1", in dem wir die Fallklasse als "Arzt" erstellt haben. Die Fallklasse „Doktor“ hat drei Attribute, die im Konstruktor „Doktor“ bezeichnet werden. Die Attribute werden als "ID", "Name" und "Gehalt" angegeben. Die Datentypen von Attributen sind ebenfalls zugewiesen. Dann haben wir die Hauptmethode festgelegt, bei der wir drei Variablen definierten - "D1", "D2" und "D3". Diese Variablen berief sich auf die Fallklasse „Doktor“ und setzen die Werte des Fallklassenarztattributs für jede Variable.

Wir haben eine weitere Variable „Nulllist“ deklariert, die zunächst leer gehalten wird. Zuerst haben wir die Liste basierend auf dem Attribut "Name" sortiert, das in der Sortby -Funktion aufgerufen wird. Als nächstes druckten wir die sortierte Liste basierend auf dem Attribut "Gehalt". Die Sortby -Funktion befindet sich in der Println -Funktion. Wenn die Daten sortiert sind, wird sie gedruckt.

Die Ausgabe zeigt beide sortierten Listen, die durch die Sortby -Funktion basierend auf den Attributen „Name“ und „Gehalt“ erzeugt werden.

Beispiel 2: Verwenden Sie Sortby zum Sortieren eines Arrays in umgekehrter Reihenfolge in Scala

Im vorherigen Code haben wir die Sortby -Funktion verwendet, um ein Array zu sortieren, und es sortiert das Array in aufsteigender Reihenfolge. Durch geringfügige Änderung des Verfahrens können wir die Daten wie folgt in absteigender Reihenfolge einfügen:

In der "Data2" haben wir eine "Frucht" -Klasse mit den definierten Attributen "ID", "Name" und "Preis". Jedes Attribut wird mit dem Datentyp festgelegt. Dann setzen wir die Hauptmethode, bei der wir drei Variablen zugewiesen haben - "F1", "F2" und "F3". Die „Frucht“ -Kurs wird in jeder Variablen aufgerufen. Wir haben ihm den Wert des Attributs zugewiesen.

Als nächstes haben wir die leere Liste generiert, die in der Variablen „emp_list“ initialisiert wird. Wir haben die Sortby -Funktion zum Sortieren der Daten in umgekehrter Reihenfolge der Println -Anweisung zugewiesen.

Die sortierten Daten werden basierend auf dem Attribut "Name" in absteigender Reihenfolge wie in der folgenden Eingabeaufforderung erhalten:

Beispiel 3: Verwenden von Sortby zum Sortieren nach dem zweiten Attribut in Scala

Dieser Ansatz, der die gesammelten Daten zum ersten Attribut sortiert, ist auch hilfreich, um die Daten basierend auf zahlreichen Attributen zu gruppieren. In diesem Fall wird das zweite Attribut verwendet, um das erste Attribut zu sortieren, wenn seine Werte gleich sind.

In unserem Objekt "Data3" haben wir die Fallklasse "Schüler" definiert,. Der Konstruktor wird für die Fallklasse "Schüler" erstellt, die die Attribute "ID", "Name" und "Markierungen" nimmt. Jedes Attribut hat den zugehörigen Datentyp. Dann setzen wir die Werte gegen jedes Attribut in unserer Hauptmethode. Es gibt sechs Variablen, die als "S1", "S2", "S3", "S4", "S5" und "S6" deklariert sind. Innerhalb dieser Variablen haben wir die Klasse „Schüler“ bezeichnet und die Werte für jedes Attribut gemäß dem angegebenen Typ übergeben.

Danach haben wir eine Variable "s_list", in der das Leer erstellt wird. Dann haben wir eine Println -Anweisung, in der die Sortby -Funktion aufgerufen wird. Wir haben der Sortby -Funktion zwei Attribute, „Name“ und „Markierungen“, zur Verfügung gestellt.

Wie Sie in der Ausgabe sehen können, wiederholten wir die Namen der Schüler. Die Sortby -Funktion sortierte also die Daten nach dem zweiten Attribut, das „Markierungen“ entspricht.

Beispiel 4: Verwenden Sie Sortby zum Sortieren eines Kartenwerts in Scala

Mit der Sortby -Technik können wir die Karte nach Schlüssel bestellen, entweder von niedrig bis hoch oder von hoch bis niedrig. Versuchen wir, es besser mit einem Beispiel zu verstehen:

Um die Listmap zu verwenden, haben wir das Scala -Paket dafür importiert. Dann haben wir das Objekt „Data4“ erstellt und die Definition der Hauptmethode darin aufgerufen. Als nächstes haben wir im Hauptabschnitt die Variable „Karte“ deklariert und die Kartenfunktion darin festgelegt.

Die Kartenfunktion hat drei Schlüssel-/Wertpaare. Um die Karte nach Wert zu sortieren, haben wir ein weiteres Variable „Ergebnis“ erstellt und die ListMap aufgerufen. In der Listmap haben wir den Toseq.Sortby -Funktion, die die Karte nach Wert in einer Kartensequenz sortiert.

Aus der Sortby -Funktion haben wir die Karte nach Wert in einer Scala Map -Sequenz sortiert. Das Ergebnis für die sortierte Karte wird im folgenden Screenshot des Terminals angezeigt:

Abschluss

Aus dem oben genannten Artikel haben wir über die Sortby-Funktionen im scala-objektorientierten Programmierparadigma gelernt. Wir haben festgestellt, dass wir mit der Sortby -Methode eine geordnete, sortierte Sammlung mit nur einer Codezeile erstellen konnten. Wir haben gelernt, wie die Scala -Sortby -Methode mit mehreren Attributen funktioniert, um die Daten angemessen zu sortieren. Infolgedessen bietet der Scala Sortby eine klare und wirksame Methode zum Sortieren in Scala.