English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grundlegende Anleitung

Java Flow Control

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map-Sammlung

Java Set-Sammlung

Java Ein- und Ausgabesystem (I/O)

Java Reader/Writer

Andere Themen von Java

Java Algorithmen (Algorithmen)

In diesem Tutorial werden wir anhand von Beispielen die verschiedenen Algorithmen des Java Collection Frameworks lernen.

Der Java Collection Framework bietet verschiedene Algorithmen, die zur Verarbeitung der in Datenstrukturen gespeicherten Elemente verwendet werden können.

Algorithmen in Java sind statische Methoden und können zur Ausführung verschiedener Operationen auf Sammlungen verwendet werden.

Da Algorithmen für verschiedene Sammlungen verwendet werden können, werden sie auch so genanntAllgemeine Algorithmen.

Lassen Sie uns die Implementierung der verschiedenen Methoden im Sammlungsrahmen betrachten.

1.Verwenden Sie sort() zum Sortieren

Die von der Sammlungsrahmen bereitgestellten sort() -Methoden dienen zur Sortierung von Elementen. Zum Beispiel

import java.util.ArrayList;

import java.util.Collections;

class Main {

    public static void main(String[] args) {

        //Erstellen Sie eine Arrayliste
        ArrayList<Integer> numbers = new ArrayList<>();

        //Fügen Sie Elemente hinzu
        numbers.add(
4);
        numbers.add(
2);
        numbers.add(
3);
        System.out.println("Unsortierte ArrayList: " + numbers);
        // Verwenden Sie die sort() -Methode
        Collections.sort(numbers);
        System.out.println("Sortierte ArrayList: " + numbers);
    }
}

Ausgaberesultat

Unsortierte ArrayList: [4, 2, 3]
Sortierte ArrayList: [2, 3, 4]

Hier erfolgt die Sortierung in natürlicher Ordnung (aufsteigend). Aber wir können die Sortierreihenfolge der sort() -Methode mit dem Comparator -Interface anpassen.

Für weitere Informationen besuchen Sie bitteJava Sorting.

2.Verwenden Sie shuffle zum Durcheinanderwerfen

Der shuffle() -Methoden der Java Collections-Frameworks wird verwendet, um jede beliebige Reihenfolge in einer Datenstruktur zu durcheinanderwerfen. Sein Effekt ist genau umgekehrt zu Sortieren. Zum Beispiel

import java.util.ArrayList;

import java.util.Collections;

class Main {

    public static void main(String[] args) {

        //Erstellen Sie eine Arrayliste
        ArrayList<Integer> numbers = new ArrayList<>();

        //Fügen Sie Elemente hinzu
        numbers.add(
1);
        numbers.add(
2);
        numbers.add(
3);
        System.out.println("Sortierte ArrayList: " + numbers);
        //Verwenden Sie die shuffle() -Methode
        Collections.shuffle(numbers);
        System.out.println("Verwenden Sie ArrayList mit shuffle: " + numbers);
    }
}

Ausgaberesultat

Sortierte ArrayList: [1, 2, 3]
Verwenden Sie ArrayList mit shuffle: [2, 1, 3]

Wenn wir das Programm ausführen, gibt die shuffle() -Methode zufällige Ausgaben zurück.

Die Shuffle-Algorithmen werden hauptsächlich in Spielen verwendet, die zufällige Ausgaben benötigen.

3.Regelmäßige Datenverarbeitung

In Java bietet die Sammlungsrahmen verschiedene Methoden zur Verarbeitung von Daten an.

  • reverse() - Umkehren Sie die Reihenfolge der Elemente

  • fill() - Ersetzen Sie jedes Element in der Sammlung mit einem angegebenen Wert

  • copy() - Erstellen Sie eine Kopie der Elemente von einer angegebenen Quelle bis zum Ziel

  • swap() - Tauschen Sie die Positionen zweier Elemente in der Sammlung aus

  • addAll() - Fügen Sie alle Elemente der Sammlung zu einer anderen Sammlung hinzu

Zum Beispiel,

import java.util.Collections;

import java.util.ArrayList;

class Main {

    public static void main(String[] args) {

        //Eine ArrayList erstellen

        ArrayList<Integer> numbers = new ArrayList<>();

        numbers.add(
1);
        numbers.add(
2);
        System.out.println("ArrayList1: \ + numbers);
        // Verwenden Sie reverse()
        Collections.reverse(numbers);
        System.out.println("Umkehren von ArrayList1: \ + numbers);
        // Verwenden Sie swap()
        Collections.swap(numbers, 0, 1);
        System.out.println("ArrayList1 Verwenden Sie swap(): " + numbers);
        ArrayList<Integer> newNumbers = new ArrayList<>();
        // Verwenden Sie addAll
        newNumbers.addAll(numbers);
        System.out.println("ArrayList2 Verwenden Sie addAll(): \ + newNumbers);
        // Verwenden Sie fill()
        Collections.fill(numbers, 0);
        System.out.println("ArrayList1 Verwenden Sie fill(): \ + numbers);
        // Verwenden Sie copy()
        Collections.copy(newNumbers, numbers);
        System.out.println("ArrayList2 Verwenden Sie copy(): \ + newNumbers);
    }
}

Ausgaberesultat

ArrayList1: [1, 2]
Arraylist umkehren1: [2, 1]
ArrayList1 Verwenden Sie swap(): [1, 2]
ArrayList2 Verwenden Sie addALl(): [1, 2]
ArrayList1 Verwenden Sie fill(): [0, 0]
ArrayList2 Verwenden Sie copy(): [0, 0]

Achtung:Bei der Ausführung des copy()-Methods sollten die Größen der beiden Listen gleich sein.

4.Verwenden Sie binarySearch() zur Suche

Die binarySearch()-Methode der Java Collection Frameworks sucht nach einem bestimmten Element. Sie gibt die Position des Elements in der angegebenen Sammlung zurück. Zum Beispiel,

import java.util.Collections;

import java.util.ArrayList;

class Main {

    public static void main(String[] args) {

        //Eine ArrayList erstellen

        ArrayList<Integer> numbers = new ArrayList<>();

        numbers.add(
1);
        numbers.add(
2);
        numbers.add(
3);
        // Verwenden Sie binarySearch()
        int pos = Collections.binarySearch(numbers, 3);
        System.out.println("3der Position ist \ + pos);
    }
}

Ausgaberesultat

3der Position ist 2

Achtung:Bevor die binarySearch()-Methode ausgeführt wird, sollte die Sammlung sortiert werden.

Für weitere Informationen besuchen Sie bitteJava Binärsuche.

5.Kombination

  • frequency() - gibt die Anzahl der Elemente zurück, die in der Sammlung existieren

  • disjoint() - prüfen, ob zwei Mengen einige gemeinsame Elemente enthalten

Zum Beispiel,

import java.util.Collections;

import java.util.ArrayList;

class Main {

    public static void main(String[] args) {

        //Eine ArrayList erstellen

        ArrayList<Integer> numbers = new ArrayList<>();

        numbers.add(
1);
        numbers.add(
2);
        numbers.add(
3);
        numbers.add(
2);
        System.out.println("ArrayList1: \ + numbers);
        int count = Collections.frequency(numbers, 2);
        System.out.println("Anzahl von 2: \ + count);
        ArrayList<Integer> newNumbers = new ArrayList<>();
        newNumbers.add(5);
        newNumbers.add(6);
        System.out.println("ArrayList2: \ + newNumbers);
        boolean value = Collections.disjoint(numbers, newNumbers);
        System.out.println("zwei Listen sind nicht überschneidend? ", + value);
    }
}

Ausgaberesultat

ArrayList1: [1, 2, 3, 2]
Anzahl von 2: 2
ArrayList2: [5, 6]
zwei Listen sind nicht überschneidend? true

6die Suche nach dem größten und kleinsten Element

Die min()- und max()-Methoden der Java Collection Frameworks dienen dazu, den kleinsten und größten Element zu finden. Zum Beispiel,

import java.util.Collections;

import java.util.ArrayList;

class Main {

    public static void main(String[] args) {

        //Eine ArrayList erstellen

        ArrayList<Integer> numbers = new ArrayList<>();

        numbers.add(
1);
        numbers.add(
2);
        numbers.add(
3);
        // Verwenden Sie min()

        int min = Collections.min(numbers);

        System.out.println("Kleinstes Element: "
 + min);
        // Verwenden Sie max()

        int max = Collections.max(numbers);

        System.out.println("Größter Element: "
 + max);
    }
}

Ausgaberesultat

Kleinstes Element: 1
Größter Element: 3