Ordinamento alfabetico in Java

In Java, l’ordinamento di tipi di dati semplici come numeri interi e byte è un’operazione semplice nella maggior parte dei casi. I programmi Java e i computer sono entrambi progettati per gestire funzioni come il calcolo dei numeri e l’ordinamento con un alto grado di efficienza. L’ordinamento può essere un po ‘più complicato quando si tratta di ordinare le stringhe. Utilizzando l’interfaccia “Comparable”, i programmatori Java possono estendere le capacità di alfabetizzazione a quasi tutti gli oggetti.

Utilizzo di array

L’oggetto array nel linguaggio di programmazione Java supporta un metodo integrato per l’ordinamento degli oggetti. Un array di stringhe denominato “parole”, ad esempio, può essere ordinato chiamando il metodo “Arrays.sort (words)”, che ordinerà immediatamente le stringhe nell’array in ordine alfabetico. Questa funzione funziona bene per le stringhe e alcuni altri tipi di dati, ma non necessariamente per i tipi di dati creati dall’utente. Per ordinare altri tipi di dati in ordine alfabetico, è necessario utilizzare l’interfaccia “Comparable”.

Interfaccia comparabile

In Java, una “interfaccia” è una classe base astratta che serve solo allo scopo di un modello per altre classi. L’interfaccia Comparable definisce i metodi che consentono di ordinare gli oggetti in base alle specifiche dell’utente. La classe String implementa già questa interfaccia, consentendo di ordinare gli oggetti stringa dalla classe Arrays. Per ordinare gli oggetti creati, il programmatore deve implementare i metodi della classe Comparable in modo da metterli in ordine alfabetico.

Utilizzo del metodo “compareTo”

Un oggetto che implementa l’interfaccia Comparable deve prima chiamare la parola chiave “implements”, quindi il metodo “compareTo” deve essere definito nella classe Comparable. Questo metodo può essere definito in vari modi, purché sia ​​eseguito secondo le specifiche. Nel caso di Comparable, il metodo compareTo deve confrontare due valori del tipo di oggetto e restituire un numero intero: 0 se i due valori sono uguali, -1 se l’oggetto confrontato è minore dell’altro e 1 se l’oggetto è maggiore di l’oggetto a cui viene confrontato.

Creazione e ordinamento di oggetti comparabili

Un oggetto comparabile implementerà la classe Comparable e definirà il metodo compareTo. Fatto ciò, il programmatore può utilizzare quell’oggetto in array di ordinamento alfabetico come illustrato nell’esempio seguente:

class Esempio implementa Comparable {public String ex_string = new String;

public static int compareTo (Esempio ex) {

if (this.ex_string.compareTo (ex.ex_string) == 0) {return 0; } else if (this.ex_string.compareTo (ex.ex_string) <0) {return -1; } altro {ritorno 1; }

public static void main (String [] args) {

Esempio a = nuovo Esempio; Esempio b = nuovo Esempio; Esempio c = nuovo Esempio;

a.ex_string = “ccc”; b.ex_string = “zzz”; c.ex_string = “yyy”;

Esempio [] list = {a, b, c};

Arrays.sort (elenco);

}}