Heim Java javaLernprogramm Wie sortiert die Methode Arrays.sort() in Java Arrays nach einem benutzerdefinierten Komparator?

Wie sortiert die Methode Arrays.sort() in Java Arrays nach einem benutzerdefinierten Komparator?

Nov 18, 2023 am 11:36 AM
排序 Benutzerdefinierter Komparator arraysort()-Methode

Wie sortiert die Methode Arrays.sort() in Java Arrays nach einem benutzerdefinierten Komparator?

Wie sortiert die Methode Arrays.sort() in Java ein Array nach einem benutzerdefinierten Komparator?

In Java ist die Methode Arrays.sort() eine sehr nützliche Methode zum Sortieren von Arrays. Standardmäßig sortiert diese Methode in aufsteigender Reihenfolge. Aber manchmal müssen wir das Array nach unseren eigenen definierten Regeln sortieren. Zu diesem Zeitpunkt müssen Sie einen benutzerdefinierten Komparator (Komparator) verwenden.

Ein benutzerdefinierter Komparator ist eine Klasse, die die Comparator-Schnittstelle implementiert, die Vergleichsregeln entsprechend spezifischer Anforderungen definieren kann. Benutzerdefinierte Komparatoren können Objekte jeder Art sortieren, einschließlich Basistypen und benutzerdefinierter Typen.

Als nächstes werde ich vorstellen, wie man einen benutzerdefinierten Komparator zum Sortieren der Arrays.sort()-Methode in Java verwendet, und einige Beispielcodes zur Veranschaulichung bereitstellen.

  1. Wie definiere ich einen benutzerdefinierten Komparator?

Um einen benutzerdefinierten Komparator zu definieren, müssen Sie nur die Comparator-Schnittstelle implementieren und die Vergleichsmethode überschreiben. Die Vergleichsmethode hat zwei Parameter. Die Vergleichsregeln haben die folgenden Situationen:

    obj2, Rückgabe einer negativen Ganzzahl; obj1 > obj2, gibt eine positive Ganzzahl zurück
  • Der Schlüsselcode lautet wie folgt:
  • public class MyComparator implements Comparator<T> {
        @Override
        public int compare(T o1, T o2) {
            // 你的自定义比较规则
            return 0;
        } 
    }
    Nach dem Login kopieren
  • Wie verwende ich einen benutzerdefinierten Komparator, um ein Array zu sortieren?

Die Methode Arrays.sort() verfügt über mehrere überladene Versionen, von denen eine einen benutzerdefinierten Komparator akzeptiert. Als zweiten Parameter dieser Methode können wir unseren eigenen definierten Komparator verwenden, sodass wir das Array nach unseren eigenen Regeln sortieren können.
  1. Der Schlüsselcode lautet wie folgt:
  2. public static <T> void sort(T[] a, Comparator<? super T> c) 
    Nach dem Login kopieren
Unter ihnen stellt T[] a das zu sortierende Array dar, Comparator

Beispielcode

Schauen wir uns nun ein konkretes Beispiel an. Angenommen, wir haben eine Schülerklasse. Diese Klasse enthält zwei Mitgliedsvariablen. Wenn wir nun das Student-Array vom kleinsten zum größten Alter sortieren möchten, müssen wir einen benutzerdefinierten Komparator definieren. Der Beispielcode lautet wie folgt:
    public class StudentComparator implements Comparator<Student> {
        @Override
        public int compare(Student o1, Student o2) {
            return o1.age - o2.age;
        } 
    }
    Nach dem Login kopieren
  1. Im obigen Code definieren wir eine StudentComparator-Klasse, die die Comparator-Schnittstelle implementiert und die Vergleichsmethode überschreibt. Bei der Vergleichsmethode konzentrieren wir uns beim Vergleich auf das Alter. Wenn das Alter von o1 kleiner als das Alter von o2 ist, wird eine negative ganze Zahl zurückgegeben. Wenn das Alter von o1 gleich dem Alter von o2 ist, wird 0 zurückgegeben. Wenn das Alter von o1 größer als das Alter von o2 ist, wird eine positive ganze Zahl zurückgegeben.
Als nächstes können wir die Methode Arrays.sort() verwenden, um das Student-Array gemäß den von uns definierten Regeln zu sortieren.

public class Main {
    public static void main(String[] args) {
        Student[] students = new Student[3];
        students[0] = new Student("Tom", 20);
        students[1] = new Student("Jack", 18);
        students[2] = new Student("Lucy", 22);
        
        Arrays.sort(students, new StudentComparator());
        
        for (Student student : students) {
            System.out.println(student.name + " " + student.age);
        }
    }
}
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Jack 18
Tom 20
Lucy 22
Nach dem Login kopieren
Wie aus dem Ergebnis ersichtlich ist, wird das Student-Array gemäß den von uns definierten Regeln von klein nach groß nach Alter sortiert.

Zusammenfassung

Die Methode Arrays.sort() ist eine sehr nützliche Methode, mit der jede Art von Array sortiert werden kann. Wenn Sie das Array nach Ihren eigenen definierten Regeln sortieren müssen, müssen Sie nur die Comparator-Schnittstelle implementieren und die Vergleichsmethode überschreiben. Der spezifische Implementierungsprozess ist wie oben erwähnt. Ich hoffe, dass er für alle hilfreich sein wird.

    Das obige ist der detaillierte Inhalt vonWie sortiert die Methode Arrays.sort() in Java Arrays nach einem benutzerdefinierten Komparator?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Wie man Teamkollegen wiederbelebt
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    So sortieren Sie Fotos nach Aufnahmedatum in Windows 11/10 So sortieren Sie Fotos nach Aufnahmedatum in Windows 11/10 Feb 19, 2024 pm 08:45 PM

    In diesem Artikel erfahren Sie, wie Sie Bilder nach Aufnahmedatum in Windows 11/10 sortieren und was zu tun ist, wenn Windows Bilder nicht nach Datum sortiert. In Windows-Systemen ist die ordnungsgemäße Organisation von Fotos von entscheidender Bedeutung, um das Auffinden von Bilddateien zu erleichtern. Benutzer können Ordner mit Fotos basierend auf verschiedenen Sortiermethoden wie Datum, Größe und Name verwalten. Darüber hinaus können Sie je nach Bedarf eine aufsteigende oder absteigende Reihenfolge festlegen, um Dateien flexibler zu organisieren. So sortieren Sie Fotos nach Aufnahmedatum in Windows 11/10. Um Fotos nach Aufnahmedatum in Windows zu sortieren, gehen Sie folgendermaßen vor: Öffnen Sie Bilder, Desktop oder einen beliebigen Ordner, in dem Sie Fotos ablegen. Klicken Sie im Menüband auf

    So sortieren Sie E-Mails in Outlook nach Absender, Betreff, Datum, Kategorie und Größe So sortieren Sie E-Mails in Outlook nach Absender, Betreff, Datum, Kategorie und Größe Feb 19, 2024 am 10:48 AM

    Outlook bietet viele Einstellungen und Funktionen, die Ihnen helfen, Ihre Arbeit effizienter zu verwalten. Eine davon ist die Sortieroption, mit der Sie Ihre E-Mails nach Ihren Bedürfnissen kategorisieren können. In diesem Tutorial erfahren Sie, wie Sie die Sortierfunktion von Outlook verwenden, um E-Mails nach Kriterien wie Absender, Betreff, Datum, Kategorie oder Größe zu organisieren. Dies erleichtert Ihnen die Verarbeitung und das Auffinden wichtiger Informationen und steigert Ihre Produktivität. Microsoft Outlook ist eine leistungsstarke Anwendung, mit der Sie Ihre E-Mail- und Kalenderpläne ganz einfach zentral verwalten können. Sie können ganz einfach E-Mails senden, empfangen und organisieren, während die integrierte Kalenderfunktion es Ihnen erleichtert, den Überblick über Ihre bevorstehenden Ereignisse und Termine zu behalten. Wie man in Outloo ist

    XML-Daten mit Python filtern und sortieren XML-Daten mit Python filtern und sortieren Aug 07, 2023 pm 04:17 PM

    Implementieren des Filterns und Sortierens von XML-Daten mit Python Einführung: XML ist ein häufig verwendetes Datenaustauschformat, das Daten in Form von Tags und Attributen speichert. Bei der Verarbeitung von XML-Daten müssen wir die Daten häufig filtern und sortieren. Python bietet viele nützliche Tools und Bibliotheken zum Verarbeiten von XML-Daten. In diesem Artikel wird erläutert, wie Sie mit Python XML-Daten filtern und sortieren. Lesen der XML-Datei Bevor wir beginnen, müssen wir die XML-Datei lesen. Python verfügt über viele XML-Verarbeitungsbibliotheken.

    PHP-Entwicklung: So implementieren Sie Funktionen zum Sortieren und Paging von Tabellendaten PHP-Entwicklung: So implementieren Sie Funktionen zum Sortieren und Paging von Tabellendaten Sep 20, 2023 am 11:28 AM

    PHP-Entwicklung: So implementieren Sie Sortier- und Paging-Funktionen für Tabellendaten. In der Webentwicklung ist die Verarbeitung großer Datenmengen eine häufige Aufgabe. Bei Tabellen, die große Datenmengen anzeigen müssen, ist es normalerweise erforderlich, Datensortierungs- und Paging-Funktionen zu implementieren, um eine gute Benutzererfahrung zu bieten und die Systemleistung zu optimieren. In diesem Artikel wird die Verwendung von PHP zum Implementieren der Sortier- und Paging-Funktionen von Tabellendaten vorgestellt und spezifische Codebeispiele gegeben. Die Sortierfunktion implementiert die Sortierfunktion in der Tabelle und ermöglicht Benutzern die Sortierung in aufsteigender oder absteigender Reihenfolge nach verschiedenen Feldern. Das Folgende ist ein Implementierungsformular

    C++-Programm: Ordnen Sie die Position von Wörtern in alphabetischer Reihenfolge neu C++-Programm: Ordnen Sie die Position von Wörtern in alphabetischer Reihenfolge neu Sep 01, 2023 pm 11:37 PM

    Bei diesem Problem wird eine Zeichenfolge als Eingabe angegeben und wir müssen die in der Zeichenfolge vorkommenden Wörter in lexikografischer Reihenfolge sortieren. Dazu weisen wir jedem Wort im String einen Index beginnend bei 1 zu (durch Leerzeichen getrennt) und erhalten die Ausgabe in Form sortierter Indizes. String={"Hello","World"}"Hello"=1 "World"=2 Da die Wörter in der Eingabezeichenfolge in lexikografischer Reihenfolge vorliegen, wird in der Ausgabe „12“ ausgegeben. Schauen wir uns einige Eingabe-/Ergebnisszenarien an – vorausgesetzt, alle Wörter in der Eingabezeichenfolge sind gleich, schauen wir uns die Ergebnisse an – Eingabe:{"hello","hello","hello"}Ergebnis:3 Erhaltenes Ergebnis

    So sortieren Sie WPS-Ergebnisse So sortieren Sie WPS-Ergebnisse Mar 20, 2024 am 11:28 AM

    Bei unserer Arbeit verwenden wir häufig WPS-Software. Es gibt viele Möglichkeiten, Daten in WPS-Software zu verarbeiten, und die Funktionen sind auch sehr leistungsfähig. Wir verwenden häufig Funktionen, um Durchschnittswerte, Zusammenfassungen usw. zu ermitteln Methoden, die für statistische Daten verwendet werden können, wurden für alle in der WPS-Softwarebibliothek vorbereitet. Nachfolgend stellen wir die Schritte zum Sortieren der Ergebnisse in WPS vor. Nachdem Sie dies gelesen haben, können Sie aus der Erfahrung lernen. 1. Öffnen Sie zunächst die Tabelle, die eingestuft werden soll. Wie nachfolgend dargestellt. 2. Geben Sie dann die Formel =rank(B2, B2: B5, 0) ein und achten Sie darauf, 0 einzugeben. Wie nachfolgend dargestellt. 3. Drücken Sie nach Eingabe der Formel die Taste F4 auf der Computertastatur. In diesem Schritt wird der relative Bezug in einen absoluten Bezug umgewandelt.

    Wie sortiert die Methode Arrays.sort() in Java Arrays nach einem benutzerdefinierten Komparator? Wie sortiert die Methode Arrays.sort() in Java Arrays nach einem benutzerdefinierten Komparator? Nov 18, 2023 am 11:36 AM

    Wie sortiert die Methode Arrays.sort() in Java Arrays nach einem benutzerdefinierten Komparator? In Java ist die Methode Arrays.sort() eine sehr nützliche Methode zum Sortieren von Arrays. Standardmäßig sortiert diese Methode in aufsteigender Reihenfolge. Aber manchmal müssen wir das Array nach unseren eigenen definierten Regeln sortieren. Zu diesem Zeitpunkt müssen Sie einen benutzerdefinierten Komparator (Komparator) verwenden. Ein benutzerdefinierter Komparator ist eine Klasse, die die Comparator-Schnittstelle implementiert.

    So sortieren Sie WPS-Tabellen, um die Datenstatistik zu erleichtern So sortieren Sie WPS-Tabellen, um die Datenstatistik zu erleichtern Mar 20, 2024 pm 04:31 PM

    WPS ist eine sehr umfassende Bürosoftware, einschließlich Textbearbeitung, Datentabellen, PPT-Präsentationen, PDF-Formaten, Flussdiagrammen und anderen Funktionen. Unter ihnen sind die Texte, Tabellen und Demonstrationen, die wir am häufigsten verwenden, und sie sind auch diejenigen, mit denen wir am besten vertraut sind. Bei unserer Studienarbeit verwenden wir manchmal WPS-Tabellen, um einige Datenstatistiken zu erstellen. Wenn wir beispielsweise die Ergebnisse so vieler Schüler manuell sortieren müssen, wird das wirklich ein Problem sein Tatsächlich müssen wir uns keine Sorgen machen, denn unsere WPS-Tabelle verfügt über eine Sortierfunktion, die dieses Problem für uns löst. Als nächstes lernen wir, wie man WPS zusammenordnet. Methodenschritte: Schritt 1: Zuerst müssen wir die WPS-Tabelle öffnen, die sortiert werden soll

    See all articles