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.
In 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 + ", ");
}
}
}
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 + ", ");
}
}
}
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();
}
}
}
GO TO FULL VERSION