Ordina un array in ordine crescente o decrescente utilizzando Arrays.sort()
Fonte:
FreeCodeCamp Con questo post imparerai come ordinare un array in ordine ascendente o discendente in Java.
In Java utilizziamo gli array per memorizzare un insieme di variabili (con lo stesso tipo di dati) in un'unica variabile. Ma a volte i valori memorizzati nell'array appaiono in ordine casuale. Grazie alla classe
Arrays in Java, abbiamo diversi modi per manipolare gli array, incluso ordinarli. Uno dei metodi che utilizzeremo dalla classe
Arrays è il metodo
sort() , che ordina l'array in ordine crescente. Per ordinare un array in ordine decrescente, utilizzare il metodo
reverseOrder() della classe
Collections in Java.
Come ordinare un array in ordine crescente in Java utilizzando Arrays.sort()
Ecco un esempio di come possiamo utilizzare il metodo
sort() per ordinare un array in ordine crescente.
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 + ", ");
}
}
}
La prima cosa che abbiamo fatto nell'esempio sopra è stata importare la classe
Arrays :
import java.util.Arrays; . Questo ci dà accesso a tutti i metodi della classe
Arrays . Quindi abbiamo creato un array con numeri in ordine casuale:
int[] arr = { 5, 2, 1, 8, 10 }; . Per ordinare questo array in ordine crescente, abbiamo passato l'array come parametro al metodo
sort() :
Arrays.sort(arr); . Tieni presente che la classe
Arrays viene scritta prima di accedere al metodo
sort() utilizzando la notazione punto. Infine, abbiamo creato un loop e stampato l'array sulla console. Il risultato è un array ordinato:
1, 2, 5, 8, 10 . Ora parliamo di ordinare l'array in ordine decrescente.
Come ordinare un array in ordine decrescente in Java utilizzando Collections.reverseOrder()
Per ordinare un array in ordine decrescente, dovresti utilizzare
reverseOrder() , a cui è possibile accedere dalla classe
Collections . Utilizzeremo ancora
Arrays.sort(); , ma in questo esempio saranno necessari due parametri: un array da ordinare e
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 + ", ");
}
}
}
La prima cosa che abbiamo fatto è stata importare
le classi Arrays e
Collections perché utilizzeremo i metodi forniti da queste classi. Abbiamo quindi creato un array di numeri in ordine casuale:
Integer[] arr = { 5, 2, 1, 8, 10 }; . Come puoi vedere, abbiamo usato
Integer[] invece di
int[] come nell'esempio precedente. Altrimenti si verificherà un errore. Per ordinare l'array in ordine decrescente, abbiamo fatto questo:
Arrays.sort(arr, Collections.reverseOrder()); . Il primo parametro è un array
arr che verrà ordinato in ordine crescente. Il secondo parametro,
Collections.reverseOrder() , invertirà quindi l'ordine dell'array ordinato in modo che sia in ordine decrescente. Una volta ripetuto e stampato, l'array apparirà così:
10, 8, 5, 2, 1 .
Conclusione
In questo articolo abbiamo discusso dell'ordinamento degli array in Java: come possono essere ordinati in ordine ascendente o discendente. Per fare ciò possiamo utilizzare il metodo
sort() , a cui si può accedere dalla classe
Arrays . Il metodo
sort() accetta un array da ordinare come parametro. Per ordinare l'array in ordine decrescente, abbiamo utilizzato
il metodo reverseOrder() fornito dalla classe Collections. Viene passato come secondo parametro al metodo
sort() in modo che l'array ordinato possa essere riordinato in ordine discendente.
Collezione Java. Qual è la differenza tra le interfacce Elenco e Imposta?
Fonte:
Rrtutors List e Set sono interfacce Java per estendere l' interfaccia
Collection . In questo post, esamineremo le principali differenze tra i due e come possono essere utilizzati.
Differenze tra le interfacce Set e List in Java
Definiamo le differenze chiave tra
le interfacce List e
Set in base ai seguenti parametri chiave:
Implementazione
List implementa
ArrayLists , mentre
HashSet implementa
Set .
Indicizzazione
È possibile utilizzare
ListIterator per spostarsi sia avanti che indietro attraverso
un List , ma non attraverso un Set . Usa invece Iterator (che funziona sia con
List che con
Set ).
Ordine
L' interfaccia
Set non supporta alcun ordine di set particolare. Una raccolta del tipo
Set è già ordinata secondo la propria regola e non può essere ordinata proprio così.
La lista è una lista ordinata. Gli oggetti vengono archiviati nell'ordine in cui sono stati aggiunti all'elenco. Gli elementi dell'elenco sono accessibili tramite indice.
Oggetto nullo
L'elenco non ha restrizioni e supporta l'aggiunta di valori Null, mentre
Set consente al massimo un valore Null.
Duplicati
L'elenco può contenere duplicati, ma
Set no. Set non consente elementi duplicati perché tutti i suoi elementi devono essere univoci. Se inserisci un elemento duplicato in
Set , il valore esistente verrà sovrascritto.
Quando dovresti usare List and Set?
Set è la scelta migliore quando hai solo bisogno di memorizzare valori univoci, poiché è per questo che è stato progettato. Ma se vuoi preservare l'ordine di inserimento nonostante la duplicazione,
List è la scelta migliore .
Insieme di esempi
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);
}
}
Elenco esempi
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