JavaRush /Java Blog /Random-IT /Pausa caffè #136. Ordina un array in ordine crescente o d...

Pausa caffè #136. Ordina un array in ordine crescente o decrescente utilizzando Arrays.sort(). Qual è la differenza tra le interfacce Elenco e Imposta?

Pubblicato nel gruppo Random-IT

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. Pausa caffè #136.  Ordina un array in ordine crescente o decrescente utilizzando Arrays.sort().  Qual è la differenza tra le interfacce Elenco e Imposta?  -1In 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 + ", ");
            // 1, 2, 5, 8, 10,
        }
    }
}
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 + ", ");
            // 10, 8, 5, 2, 1,
        }
    }
}
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();

                            }

            }

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