JavaRush /Java-Blog /Random-DE /Kaffeepause Nr. 136. Sortieren Sie ein Array in aufsteige...

Kaffeepause Nr. 136. Sortieren Sie ein Array in aufsteigender oder absteigender Reihenfolge mit Arrays.sort(). Was ist der Unterschied zwischen den Schnittstellen List und Set?

Veröffentlicht in der Gruppe Random-DE

Sortieren Sie ein Array in aufsteigender oder absteigender Reihenfolge mit Arrays.sort()

Quelle: FreeCodeCamp In diesem Beitrag erfahren Sie, wie Sie ein Array in Java entweder in aufsteigender oder absteigender Reihenfolge sortieren. Kaffeepause Nr. 136.  Sortieren Sie ein Array in aufsteigender oder absteigender Reihenfolge mit Arrays.sort().  Was ist der Unterschied zwischen den Schnittstellen List und Set?  - 1In Java verwenden wir Arrays, um eine Reihe von Variablen (mit demselben Datentyp) in einer einzigen Variablen zu speichern. Aber manchmal erscheinen die im Array gespeicherten Werte in zufälliger Reihenfolge. Dank der Arrays -Klasse in Java haben wir mehrere Möglichkeiten, Arrays zu bearbeiten, einschließlich ihrer Sortierung. Eine der Methoden, die wir aus der Arrays- Klasse verwenden werden, ist die Methode sort() , die das Array in aufsteigender Reihenfolge sortiert. Um ein Array in absteigender Reihenfolge zu sortieren, verwenden Sie die Methode reverseOrder() der Collections- Klasse in Java.

So sortieren Sie ein Array in Java mit Arrays.sort() in aufsteigender Reihenfolge

Hier ist ein Beispiel dafür, wie wir die Methode sort() verwenden können , um ein Array in aufsteigender Reihenfolge zu sortieren.
import java.util.Arrays;

class ArraySort {
    public static void main(String[] args) {
        int[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr);

        for (int values : arr) {
            System.out.print(values + ", ");
            // 1, 2, 5, 8, 10,
        }
    }
}
Das erste, was wir im obigen Beispiel getan haben, war der Import der Arrays- Klasse : import java.util.Arrays; . Dadurch erhalten wir Zugriff auf alle Methoden der Arrays- Klasse . Dann haben wir ein Array mit Zahlen in zufälliger Reihenfolge erstellt: int[] arr = { 5, 2, 1, 8, 10 }; . Um dieses Array in aufsteigender Reihenfolge zu sortieren, haben wir das Array als Parameter an die Methode sort() übergeben : Arrays.sort(arr); . Beachten Sie, dass die Arrays- Klasse zuerst geschrieben wird, bevor auf die Methode sort() in Punktnotation zugegriffen wird. Schließlich haben wir eine Schleife erstellt und das Array auf der Konsole ausgegeben. Das Ergebnis ist ein sortiertes Array: 1, 2, 5, 8, 10 . Lassen Sie uns nun über das Sortieren des Arrays in absteigender Reihenfolge sprechen.

So sortieren Sie ein Array in Java mit Collections.reverseOrder() in absteigender Reihenfolge

Um ein Array in absteigender Reihenfolge zu sortieren, sollten Sie reverseOrder() verwenden, auf das über die Collections- Klasse zugegriffen werden kann . Wir werden weiterhin Arrays.sort(); verwenden. , aber in diesem Beispiel werden zwei Parameter benötigt – ein zu sortierendes Array und Collections.reverseOrder() .
import java.util.Arrays;
import java.util.Collections;

class ArraySort {
    public static void main(String[] args) {
        Integer[] arr = { 5, 2, 1, 8, 10 };
        Arrays.sort(arr, Collections.reverseOrder());

        for (int values : arr) {
            System.out.print(values + ", ");
            // 10, 8, 5, 2, 1,
        }
    }
}
Als Erstes haben wir die Klassen „Arrays“ und „Collections“ importiert , da wir die von diesen Klassen bereitgestellten Methoden verwenden werden. Anschließend haben wir ein Array von Zahlen in zufälliger Reihenfolge erstellt: Integer[] arr = { 5, 2, 1, 8, 10 }; . Wie Sie sehen können, haben wir wie im vorherigen Beispiel Integer[] anstelle von int[] verwendet. Andernfalls kommt es zu einem Fehler. Um das Array in absteigender Reihenfolge zu sortieren, haben wir Folgendes getan: Arrays.sort(arr, Collections.reverseOrder()); . Der erste Parameter ist ein Array arr , das in aufsteigender Reihenfolge sortiert wird. Der zweite Parameter, Collections.reverseOrder() , kehrt dann die Reihenfolge des sortierten Arrays um, sodass es in absteigender Reihenfolge vorliegt. Beim Durchlaufen und Drucken sieht das Array folgendermaßen aus: 10, 8, 5, 2, 1 .

Abschluss

In diesem Artikel haben wir über das Sortieren von Arrays in Java gesprochen – wie sie in aufsteigender oder absteigender Reihenfolge sortiert werden können. Dazu können wir die Methode sort() verwenden, auf die über die Klasse Arrays zugegriffen werden kann . Die Methode sort() benötigt ein zu sortierendes Array als Parameter. Um das Array in absteigender Reihenfolge zu sortieren, haben wir die von der Collections-Klasse bereitgestellte Methode reverseOrder() verwendet . Er wird als zweiter Parameter an die Methode sort() übergeben , damit das sortierte Array in absteigender Reihenfolge neu angeordnet werden kann.

Java-Sammlung. Was ist der Unterschied zwischen den Schnittstellen List und Set?

Quelle: Rrtutors List und Set sind Java-Schnittstellen zur Erweiterung der Collection- Schnittstelle . In diesem Beitrag befassen wir uns mit den wichtigsten Unterschieden zwischen den beiden und wie sie genutzt werden können.

Unterschiede zwischen Set- und List-Schnittstellen in Java

Definieren wir die Hauptunterschiede zwischen den Listen- und Set- Schnittstellen basierend auf den folgenden Schlüsselparametern:

Implementierung

List implementiert ArrayLists , während HashSet Set implementiert .

Indizierung

Mit ListIterator können Sie sich sowohl vorwärts als auch rückwärts durch eine List bewegen , nicht jedoch durch eine Set . Verwenden Sie stattdessen Iterator (was sowohl mit List als auch mit Set funktioniert ).

Befehl

Die Set- Schnittstelle unterstützt keine bestimmte Set-Reihenfolge. Eine Sammlung vom Typ Set ist bereits nach einer eigenen Regel sortiert und kann nicht einfach so sortiert werden. Liste ist eine geordnete Liste. Objekte werden in der Reihenfolge gespeichert, in der sie der Liste hinzugefügt wurden. Auf Listenelemente wird über den Index zugegriffen.

Nullobjekt

List unterliegt keinen Einschränkungen und unterstützt das Hinzufügen von Nullwerten, während Set höchstens einen Nullwert zulässt.

Duplikate

Die Liste kann Duplikate enthalten, Set jedoch nicht. Set lässt keine doppelten Elemente zu, da alle seine Elemente eindeutig sein müssen. Wenn Sie ein doppeltes Element in Set einfügen , wird der vorhandene Wert überschrieben.

Wann sollten Sie List and Set verwenden?

Set ist die beste Wahl, wenn Sie nur eindeutige Werte speichern müssen, da es dafür konzipiert ist. Wenn Sie jedoch trotz der Duplizierung die Einfügereihenfolge beibehalten möchten, ist List die beste Wahl .

Beispielset

import java.util.ArrayList;

import java.util.LinkedList;

import java.util.List;

public class ListExample {

            public static void main(String[] args) {

                        List<String> al = new ArrayList<String>();

                          al.add("Rohit");

                          al.add("Panjab");

                          al.add("Kamir");

                          System.out.println("My ArrayList Items: ");

                          System.out.print(al);

                          List<String> ll = new LinkedList<String>();

                          ll.add("Shobit");

                          ll.add("Raul");

                          ll.add("Ketel");

                          System.out.println("\n My LinkedList Items: ");

                          System.out.print(ll);

            }

}

Beispielliste

import java.util.HashSet;

import java.util.Set;

import java.util.TreeSet;

public class SetExample {

            public static void main(String[] args) {

                          int myList[] = {60, 70, 80, 40 };

                            Set<Integer> dispSet = new HashSet<Integer>();

                            try{

                              for(int i = 0; i<4; i++){

                                dispSet.add(myList[i]);

                              }

                              System.out.println(dispSet);

                              TreeSet<Integer> treeset = new TreeSet<Integer>(dispSet);

                              System.out.println("Sorting in Asceding order:");

                              System.out.println(treeset);

                            }

                            catch(Exception e){

                                e.printStackTrace();

                            }

            }

}
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION