0Pricing
Java Academy · Lezione

Ordinamento e ricerca con Collections

Utilizzare Collections.sort, Collections.binarySearch e Comparator per l’ordinamento e la ricerca personalizzati.

Ordinamento e ricerca con Collections è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 3 lezioni in totale.

Introduzione

L'ordinamento organizza i dati per consentire ricerche rapide. La classe Collections di Java offre le utility integrate sort e binarySearch.

Nozioni di base sull'ordinamento

Collections.sort ordina una List sul posto. Per impostazione predefinita utilizza l'ordine naturale, ad esempio numeri in ordine crescente e stringhe dalla A alla Z.

Codice: ordinamento naturale

L'ordine naturale di Integer è crescente. sort() modifica la stessa List.

public class Main {
  public static void main(String[] args) {
    java.util.List<Integer> nums = new java.util.ArrayList<>();
    nums.add(5); nums.add(1); nums.add(3);
    java.util.Collections.sort(nums);
    System.out.println(nums); // [1,3,5]
  }
}

Ordinamento personalizzato

È possibile passare un Comparator a sort per ordinare in qualsiasi modo: al contrario, per lunghezza o secondo altre regole personalizzate.

Codice: ordinamento per lunghezza

Questo Comparator ordina le stringhe in base alla loro lunghezza.

public class Main {
  public static void main(String[] args) {
    java.util.List<String> words = new java.util.ArrayList<>();
    words.add("Java"); words.add("C"); words.add("Python");

    java.util.Collections.sort(words, (a,b) -> a.length() - b.length());
    System.out.println(words); // [C, Java, Python]
  }
}

Codice: binarySearch

binarySearch trova rapidamente la posizione di un elemento, ma la lista deve essere già ordinata in modo coerente.

public class Main {
  public static void main(String[] args) {
    java.util.List<Integer> nums = new java.util.ArrayList<>();
    nums.add(1); nums.add(3); nums.add(5); nums.add(7);
    int idx = java.util.Collections.binarySearch(nums, 5);
    System.out.println("Index of 5 = " + idx);
  }
}

Verifica su binarySearch

Verifica rapida: che cosa deve essere vero prima di usare Collections.binarySearch?

Riepilogo

Riepilogo: utilizzi sort() per ordinare e binarySearch() per ricerche rapide. I Comparator personalizzati permettono di definire regole di ordinamento flessibili.

Domande Frequenti

La lezione «Ordinamento e ricerca con Collections» è gratuita?

Sì — il testo completo di «Ordinamento e ricerca con Collections» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 3 lezioni in totale.

Cosa imparerò in «Ordinamento e ricerca con Collections»?

Utilizzare Collections.sort, Collections.binarySearch e Comparator per l’ordinamento e la ricerca personalizzati. Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Java Academy?

Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.

Quanto tempo richiede la lezione «Ordinamento e ricerca con Collections»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Java Academy?

Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Map e conteggio delle frequenze
  2. Comparable e Comparator a confronto
  3. Ordinamento e ricerca con Collections
← Torna a Java Academy