Come ordinare una LinkedList di stringhe

tramite: O2O
Difficoltà: media
17

Introduzione

Una delle operazioni più richieste, nell'utilizzo di una vasta collezione di dati, è di fornire una loro rappresentazione chiara ed ordinata, specie quando si ha da manipolare delle stringhe. L'utente, generalmente, preferisce utilizzare dati che seguano un ordine ben preciso. Vedremo, oggi, come ordinare una linkedlist di stringhe di nomi.
(fonte immagine : http://www. Morguefile. Com).

27

Occorrente

  • La conoscenza delle basi della programmazione ad oggetti.
37

Java

Java offre già alcuni strumenti molto semplici in grado di soddisfare la maggior parte delle richieste, ovviamente basilari, nella realizzazione di una specifica applicazione. L'ordinamento offerto è specificato da un metodo, chiamato sort (), di una nota classe Collections. Questa classe, non avrà delle proprie istanze in quanto offre tutti metodi statici.

47

L'ordinamento

Andiamo ad implementare il metodo compare () in modo da personalizzare il criterio scelto per l'ordinamento. Basterà scrivere:
if (o1. CompareTo (o2) < 0) return 1;
if (o1. CompareTo (o2) > 0) return -1;
cioè, se la stringa o1 è sintatticamente più piccola di o2 restituisci 1. Discorso duale, nel caso in cui la stringa o1 è maggiore della stringa o2. Creiamo una classe di test ed equipaggiamola con il metodo main (). All'interno di quest'ultimo istanziamo la struttura dati linkedlist, scrivendo:
LinkedList lista = new LinkedList().
Aggiungiamo alla lista una serie di nominativi, giusto per provarne la funzionalità appena prodotta. Utilizzando il metodo add(), di LinkedList, scriveremo:
lista. Add ("bbbb");
lista. Add ("alessandro");
lista. Add ("abba");
lista. Add ("acca").

Continua la lettura
57

Ordine crescente

Questo metodo, però, permette di ordinare la nostra struttura dati solo in ordine crescente. Ci chiediamo, come possiamo ordinarla secondo i nostri requisiti o in ordine decrescente? È bene ricordare che il metodo sort(), della classe Collections, oltre a ricevere una specifica struttura da ordinare, riceve una sorta di criterio su cui effettuato l'ordine. Vedremo, nei passi successivi, come creare questo "ordine" specializzandolo ai nostri usi. Creiamo una classe e diamogli il nome Comparatore e questa, dovrà implementare l'interfaccia Comparator parametrizzata in String. L'intestazione di questa classe sarà: public class Comparatore implements Comparator.

67

Metodo sort

Invochiamo il metodo sort () di Collections passandogli la LinkedList creata e istanziando il comparatore personalizzato. Effettueremo una chiamata simile:
Collections. Sort (lista, new Comparatore ()). Questa guida, vuole evidenziare una basilare tecnica nella personalizzazione del criterio di ordinamento, usando strumenti già pronti e funzionali.

77

Consigli

Non dimenticare mai:
  • Provate ad ordinare una linkedlist di Integer

Potrebbe interessarti anche

Segnala contenuti non appropriati

Tipo di contenuto
Devi scegliere almeno una delle opzioni
Descrivi il problema
Devi inserire una descrizione del problema
Si è verificato un errore nel sistema. Riprova più tardi.
Verifica la tua identità
Devi verificare la tua identità
chiudi
Grazie per averci aiutato a migliorare la qualità dei nostri contenuti

Guide simili

Programmazione

Come ordinare una lista in Java

Java in campo informatico rappresenta senza dubbio uno dei sistemi di programmazione più diffusi e conosciuti. Ordinare una lista in Java potrebbe sembrare un'operazione piuttosto complicata, in modo particolare per i meno esperti del settore. In realtà...
Programmazione

Come leggere un file di testo in Java

Java è un linguaggio orientato agli oggetti ed offre i costrutti utili, ad alto livello, per gestire la totalità delle operazioni comuni che una specifica applicazione può fornire all'utente finale. La guida di oggi vuole far conoscere, si spera con...
Programmazione

Come utilizzare JSON con PHP

JSON (JavaScript Object Notation) è un protocollo che consente lo scambio di dati tra client e server. I suoi costrutti sono compatibili con qualsiasi linguaggio di programmazione (clicca su http://www.json.org/ per una descrizione dettagliata dei costrutti...
Programmazione

Come interrogare un database in Java

Java è un linguaggio di programmazione. Ovviamente, esistono diverse versioni di questo: si passa da Javascript, che è quello che rende dinamiche le pagine web alle applet, che sono dei programmi che vengono fatti funzionare sul browser. Un database...
Programmazione

Come implementare il BubbleSort

L'attività di realizzazione di piccoli o complessi progetti software è molto problematica e difficile. Così, potrete finire la vostra attività di ordinare i dati da trattare. Sono tante le tecniche per farlo. Ce ne sono di più efficienti e di meno;...
Programmazione

come usare i metodi della classe String in java

Chi è appassionato di programmazione o chi lo fa per lavoro sa che uno dei linguaggi più utilizzati è il linguaggio Java. Nell'ambito di quest'ultimo, sicuramente può capitare di dover usare i metodi della classe String; tuttavia, spesso può non...
Programmazione

Python: 5 cose da sapere

Python rappresenta uno dei più importanti linguaggi di programmazione. Viene utilizzato soprattutto per moltissimi tipi di sviluppo dei software, applicazioni e computazioni numeriche. Se siete esperti, o vi è capitato qualche volta di incontrare altri...
Programmazione

Come convertire un testo Word in HTML

Convertire un testo da file formato word a HTML, senza possedere una minima e rudimentale preparazione di base sulla scrittura informatica, sarebbe stato difficoltoso anche solamente 5 o 6 anni fa. Oggi, fortunatamente, è diventato molto più facile...
I presenti contributi sono stati redatti dagli autori ivi menzionati a solo scopo informativo tramite l’utilizzo della piattaforma www.o2o.it e possono essere modificati dagli stessi in qualsiasi momento. Il sito web, www.o2o.it e Arnoldo Mondadori Editore S.p.A. (già Banzai Media S.r.l. fusa per incorporazione in Arnoldo Mondadori Editore S.p.A.), non garantiscono la veridicità, correttezza e completezza di tali contributi e, pertanto, non si assumono alcuna responsabilità in merito all’utilizzo delle informazioni ivi riportate. Per maggiori informazioni leggi il “Disclaimer »”.