Składnia funkcji sortby w Scala w Ubuntu 20.04
Funkcja Sortyby sortuje elementy listy kolekcji, która jest zmienna lub niezmienna. Wewnętrznie korzysta z algorytmu sortowania scalania, który oddziela listę elementów na sekcje i sortuje na nich. O ile nie zostanie osiągnięty posortowany wynik zbierania, trwa to rekurencyjnie. Funkcja sortby akceptuje kilka cech do sortowania kolekcji z komponentami ułożonymi zgodnie z pierwszym atrybutem, a następnie drugim i tak dalej.
def sortby [y] (f: (x) ⇒ y) (niejawna kolejność: matematyka.Zamówienie [y]): reprezentantTo sortby wymaga dwóch parametrów: funkcji do użycia i atrybutu do sortowania.
Przykład 1: Za pomocą sortby do sortowania tablicy w Scala
Metodę sortowania można użyć do zamówienia obiektów zgodnie z jedną lub więcej atrybutami klasowymi w Scala. Jeśli zakres zawiera typ pola zamawiania, możemy zastosować to podejście. Zamówienie rosnące jest również normalną kolejnością sortowania w tym przypadku.
Mamy obiekt „Data1”, w którym utworzyliśmy klasę przypadku jako „Doktor”. Klasa „lekarza” ma trzy atrybuty, które są wywoływane w konstruktorze „lekarza”. Atrybuty są podane jako „id”, „nazwa” i „pensja”. Przypisane są również typy danych atrybutów. Następnie ustaliliśmy główną metodę, w której zdefiniowaliśmy trzy zmienne - „D1”, „D2” i „D3”. Zmienne te wywołały klasę przypadku „Doktor” i ustawiły wartości atrybutu lekarza klasy przypadku dla każdej zmiennej.
Zadeklarowaliśmy inną zmienną „nulllist”, która początkowo jest na pustej. Najpierw posortowaliśmy listę na podstawie atrybutu „Nazwa”, który jest wywoływany w funkcji sortby. Następnie wydrukowaliśmy posortowaną listę na podstawie atrybutu „Wynagrodzenie”. Funkcja sortby jest ustawiona w funkcji println. Po sortowaniu danych zostaną wydrukowane.
Wyjście pokazuje obie sortowane listy generowane przez funkcję sortby na podstawie atrybutów „Nazwa” i „wynagrodzenie”.
Przykład 2: Za pomocą sortby do sortowania tablicy w odwrotnej kolejności w Scala
W poprzednim kodzie wykorzystaliśmy funkcję sortby do sortowania tablicy i sortuje tablicę w kolejności rosnącej. Nieco zmieniając procedurę, możemy umieścić dane w kolejności malejącej w następujący sposób:
Wewnątrz „Data2” mamy klasę „owoców” z zdefiniowanymi atrybutami „id”, „nazwa” i „cena”. Każdy atrybut jest ustawiony na typ danych. Następnie ustawiamy główną metodę, w której przypisaliśmy trzy zmienne - „F1”, „F2” i „F3”. Klasa „owoców” jest wywoływana w każdej zmiennej. Przypisaliśmy mu wartość atrybutu.
Następnie wygenerowaliśmy pustą listę inicjalizowaną w zmiennej „emp_list”. Przypisaliśmy funkcję sortby do sortowania danych w odwrotnej kolejności do instrukcji println.
Sortowane dane są uzyskiwane na podstawie atrybutu „Nazwa” w kolejności malejącej, jak pokazano w następującej montorze:
Przykład 3: Za pomocą sortby do sortowania według drugiego atrybutu w Scala
To podejście, które sortuje zebrane dane na pierwszym atrybucie, jest również pomocne w grupowaniu danych na podstawie wielu atrybutów. W takim przypadku drugi atrybut służy do sortowania pierwszego atrybutu, jeśli jego wartości są takie same.
W naszym obiekcie „Data3” zdefiniowaliśmy klasę sprawy „uczeń”. Konstruktor jest tworzony dla klasy „Student”, która przyjmuje atrybuty „ID”, „Nazwa” i „Marks”. Każdy atrybut ma powiązany typ danych. Następnie ustawiamy wartości w stosunku do każdego atrybutu w naszej głównej metodzie. Istnieje sześć zmiennych zadeklarowanych jako „S1”, „S2”, „S3”, „S4”, „S5” i „S6”. W tych zmiennych nazwaliśmy klasę „uczeń” i przekazaliśmy wartości dla każdego atrybutu zgodnie z określonym typem.
Następnie mamy zmienną „s_list”, w której powstaje pusta. Następnie mamy instrukcję println, w której wywoływana jest funkcja sortby. Dostarczyliśmy dwa atrybuty: „Nazwa” i „Marks”, do funkcji sortby.
Jak widać na wyjściu, powtórzyliśmy nazwiska uczniów. Tak więc funkcja sortby posortowała dane zgodnie z drugim atrybutem, którym jest „znaki”.
Przykład 4: Za pomocą sortby do sortowania wartości mapy w Scala
Korzystając z techniki sortby, możemy zamówić mapę według klucza, od niskiego do wysokiego lub od wysokiego do niskiego. Postarajmy się lepiej to zrozumieć, używając przykładu:
Aby użyć listy, zaimportowaliśmy pakiet Scala. Następnie utworzyliśmy obiekt „Data4” i nazwaliśmy definicję głównej metody wewnątrz niego. Następnie, w sekcji głównej, zadeklarowaliśmy zmienną „mapę” i ustawiliśmy w niej funkcję mapy.
Funkcja mapa ma trzy pary klucza/wartości. Aby sortować mapę według wartości, ustanowiliśmy inną zmienną „wynik” i nazwaliśmy listę. W ListMap mamy Toseq.SOTBY Funkcja, która sortuje mapę według wartości w sekwencji mapy.
Z funkcji sortby posortowaliśmy mapę według wartości w sekwencji mapy Scala. Wynik posortowanej mapy jest wyświetlany na poniższym zrzucie ekranu terminalu:
Wniosek
Z wyżej wymienionego artykułu dowiedzieliśmy się o funkcjach sortby w paradygmatu programowania obiektowego. Odkryliśmy, że za pomocą metody sortby moglibyśmy stworzyć zamówioną, sortowaną kolekcję za pomocą tylko jednego wiersza kodu. Nauczyliśmy się, jak działa metoda sortby Scala z kilkoma atrybutami, aby odpowiednio sortować dane. W rezultacie sortby Scala zapewnia jasną i skuteczną metodę sortowania w Scala.