Elemente in Java sortieren und suchen
Aug 30, 2023 pm 08:09 PMSortieren und Suchen sind die grundlegenden Operationen, die wir an Arrays ausführen können. Sortieren bedeutet, die Elemente einer bestimmten Liste oder eines Arrays in aufsteigender oder absteigender Reihenfolge neu anzuordnen, während Suchen das Finden eines Elements oder seines Index in einer Liste bedeutet.
Obwohl es verschiedene Algorithmen gibt, um diese Operationen auszuführen, werden wir in diesem Artikel einige davon verwenden, um Elemente in Java zu sortieren und zu suchen. Wir werden sie einzeln studieren.
Methode 1: Verwenden Sie die integrierte Methode des Arrays
In diesem Abschnitt besprechen wir die folgenden Methoden, die beim Sortieren und Suchen von Elementen in einem Array helfen.
sort() – Es handelt sich um eine statische Methode der Arrays-Klasse, die das als Parameter übergebene Array in aufsteigender Reihenfolge sortiert.
Grammatik
Arrays.sort(nameOfarray);
binarySearch() – Es ist auch eine statische Methode der Arrays-Klasse. Es akzeptiert zwei Parameter: Der erste ist das Array, dessen Elemente durchsucht werden müssen, und der zweite ist das Element, das wir in diesem Array finden müssen.
Es gibt die Indexnummer des als Argument übergebenen Elements zurück.
Grammatik
Arrays.binarySearch(nameOfarray, element);
Beispiel
import java.util.*; public class Srch { public static void main(String args[]) { int araylist[] = {9, 3, 56, 0, -2, -6, 2, 1, 80}; System.out.print("The given unsorted list: "); // for each loop that prints the original array for (int print : araylist) { System.out.print(print + " "); } Arrays.sort(araylist); // method to sort given array System.out.println(); System.out.print("The newly sorted list: "); // for each loop that prints the newly sorted array for (int print : araylist) { System.out.print(print + " "); } System.out.println(); // method to search given element int position = Arrays.binarySearch(araylist, 1); if(position > -1) { System.out.print("Element is available at index: " + position); } else { System.out.print("Element is not available"); } } }
Ausgabe
The given unsorted list: 9 3 56 0 -2 -6 2 1 80 The newly sorted list: -6 -2 0 1 2 3 9 56 80 Element is available at index: 3
Methode 2: Verwenden Sie unsere benutzerdefinierte Logik
Sortieren mit Blasensortierung
Algorithmus
Schritt 1 – Deklarieren und initialisieren Sie zunächst ein Array mit dem Namen „araylist“ und eine Ganzzahlvariable mit dem Namen „temp“, um die verschobenen Elemente vorübergehend zu speichern.
Schritt 2 – Verwenden Sie zwei for-Schleifen, um das i-te Positionselement mit dem i + 1-ten Element zu vergleichen. Erstellen Sie einen if-Block innerhalb der zweiten for-Schleife, um zu überprüfen, welches Element größer ist, und führen Sie dann eine Verschiebungsoperation durch, um die Elemente in aufsteigender Reihenfolge neu anzuordnen.
Schritt 3 – Nun drucken wir mit jeder Schleife das sortierte Array.
Beispiel
public class Bubble { public static void main(String[] args) { int araylist[] = {9, 3, 56, 0, 2, 1, 80}; int temp = 0; System.out.print("The given unsorted list: "); for (int print : araylist) { System.out.print(print + " "); } for (int i = 0; i < araylist.length; i++) { for (int j = i+1; j < araylist.length; j++) { if(araylist[i] > araylist[j]) { temp = araylist[i]; araylist[i] = araylist[j]; araylist[j] = temp; } } } System.out.println(); System.out.print("The newly sorted list: "); for (int print : araylist) { System.out.print(print + " "); } } }
Ausgabe
The given unsorted list: 9 3 56 0 2 1 80 The newly sorted list: 0 1 2 3 9 56 80
Suche mit linearer Suche
Algorithmus
Schritt 1 – Deklarieren und initialisieren Sie zunächst ein Array namens „araylist“ und eine Ganzzahlvariable namens „searchElem“, nach der wir im Array suchen. Wir benötigen außerdem zwei Integer-Variablen „isFound“ und „locate“.
Schritt 2 – Erstellen Sie nun eine for-Schleife, die bis zur Länge des Arrays läuft. Verwenden Sie in dieser Schleife einen if-Block, um zu prüfen, ob „searchElem“ im Array vorhanden ist. Sofern verfügbar, wird sein Index in der Variablen „locate“ gespeichert und die Variable „isFound“ auf 1 erhöht.
Schritt 3 – Als nächstes erstellen wir einen if else-Block, um zu prüfen, ob die Variable „isFound“ auf 1 steigt. Wenn es gleich 1 ist, bedeutet dies, dass das Element gefunden wurde und wir den Index zurückgeben. Wenn nicht, wird die Anweisung im else-Block ausgeführt.
Beispiel
public class Linear { public static void main(String[] args) { int araylist[] = {9, 3, 56, 0, 2, 1, 80}; int searchElem = 0; int isFound = 0; int locate = 0; for(int i = 0; i < araylist.length; i++) { if(searchElem == araylist[i]) { isFound = 1; locate = i; } } if(isFound == 1) { System.out.print("Element is available at index: " + locate); } else { System.out.print("Element is not available"); } } }
Ausgabe
Element is available at index: 3
Fazit
In diesem Artikel haben wir besprochen, wie man Array-Elemente sortiert und eine Suchoperation durchführt, um ein bestimmtes Element dieses Arrays zu finden. Wir können die integrierte Methode „sort()“ oder einen beliebigen Sortier- und Suchalgorithmus verwenden.
Das obige ist der detaillierte Inhalt vonElemente in Java sortieren und suchen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Top 4 JavaScript -Frameworks in 2025: React, Angular, Vue, Svelte

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?

Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?

Node.js 20: wichtige Leistungssteigerung und neue Funktionen

ICEBERG: Die Zukunft von Data Lake Tabellen

Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?

Wie kann ich funktionale Programmierungstechniken in Java implementieren?

Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?
