So schreiben Sie Komparatoren als Lambda-Ausdrücke in Java

Der Lambda-Ausdruck ist Teil von Java Version 8. Dieser Ausdruck ist dafür verantwortlich, einige Parameter zu übernehmen und den Wert für diese Parameter zurückzugeben. Die Lambda-Ausdrücke in Java sind den Methoden ziemlich ähnlich, aber die Lambda-Ausdrücke erfordern keinen bestimmten Namen und werden normalerweise im Hauptteil einer Methode deklariert. Die Komparatoren dienen dazu, die Objekte miteinander zu vergleichen.

In diesem Artikel wird speziell die Funktionsweise von Lambda-Ausdrücken im Hinblick auf das Schreiben von Komparatoren in Java erläutert.

Wie schreibe ich Komparatoren als Lambda-Ausdrücke in Java?

Der Komparator in Java bezieht sich auf die Schnittstelle, die sich im Wesentlichen mit der Sortierung von Objekten basierend auf den Vergleichen zwischen den Objekten befasst. Die Lambda-Ausdrücke in Java sind normalerweise mit einer funktionalen Schnittstelle kompatibel/anpassbar. Der Komparator ist eine funktionale Schnittstelle und kann daher zum Schreiben von Komparatoren als Lambda-Ausdrücke verwendet werden. Der Lambda-Ausdruck enthält die Anzahl der Parameter und gibt dieselben Werte wie die Methode zurück.

Beispiel: Implementierung von Komparatoren als Lambda-Ausdrücke in Java

Dieser Code nimmt bestimmte Parameter und vergleicht diese Parameter mithilfe des Lambda-Ausdrucks.

//Import the util package of Java
import java.util.*;
//Create a student class
class student {
    //Enter the specific parameters like id, name, and percentage.
  int id;
  String name;
  double percentage;
  public student(int id, String name, double percentage) {
      //The super() keyword refers to the parent class.
      super();
      this.id = id;
      this.name = name;
      this.percentage = percentage;
  }
}
//The lambda constructor class
class lamba {
    //The main class of Java
  public static void main(String[] args) {
      List<student> newlist = new ArrayList<student>();
      // Add students along with their ID, name, and percentages
      newlist.add(new student(12, "Adam", 85));
      newlist.add(new student(89, "Mary", 80));
      newlist.add(new student(15, "Chris",88));
      newlist.add(new student(28, "Lily", 83));
      //This statement will print the students based on their names
      System.out.println("SORTING THE STUDENTS ON THE BASIS OF NAME:");
      //The lambda expression for comparison according to the names
      Collections.sort(newlist, (s1, s2) -> {
        return s1.name.compareTo(s2.name);
      });
      for(student s : newlist) {
          //Print statement to print the output.
        System.out.println("Id is "+s.id + " name is  " + s.name + " with percentage of " + s.percentage);
      }
  }
}

Im obigen Java-Code:

  • Eine Klasse namens Student wird deklariert.
  • Diese Klasse enthält Parameter wie ID, Name und Prozentsatz der Schüler.
  • Der super() Das Schlüsselwort wird verwendet/importiert, um auf die übergeordnete Klasse zu verweisen.
  • Die Lambda-Konstruktorklasse besteht aus einer ArrayList, die die ID, den Namen und den Prozentsatz der Schüler enthält.
  • Der Lambda-Ausdruck wird verwendet, um einen Vergleich anhand der Namen durchzuführen.
  • Der Sortieren() Die Methode vergleicht den Zeichenfolgennamen und gibt die sortierten Namen in alphabetischer Reihenfolge aus.
  • Der println() Die Methode gibt das sortierte Ergebnis aus.

Ausgabe

In der folgenden Ausgabe wurde der Name, der mit dem Alphabet „A“ beginnt, zuerst gedruckt, da die Methode sort() die Namen in der Liste unter dem Lambda-Konstruktor von Java miteinander verglichen hat.

Damit sind wir am Ende der Verwendung von Komparatoren zum Schreiben der Lambda-Ausdrücke in Java angelangt.

Abschluss

Um Komparatoren als Lambada-Ausdrücke in Java zu schreiben, wird die funktionale Schnittstelle verwendet. Komparatoren wurden als Lambda-Ausdrücke verwendet, um die Werte zu sortieren und dann zu vergleichen, um die Ergebnisse auszugeben. In diesem Artikel haben wir eine Möglichkeit implementiert, Komparatoren auf einfache und effiziente Weise als Lambda-Ausdrücke in Java zu schreiben.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen