|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Oct 2007
Messaggi: 14
|
[java]--Linkelist + collections
ciao ragazzi..alla fine il problema dell'installazione dell'altro topic sono riscito a farlo..ora vi pongo un'altra domanda...
dovrei fare una rubrica in cui fare una classe contatto...con 1 costruttore che ogni volta a mia rikiesta mi crea un oggetto contatto nuovo..bene..fin qui.. a parte la novità del linguaggio nn c son problemi.. la mia domadna ora è questa..mi si kiede di utilizzare una LinkedList e una collection...volevo sapere qualke informazione fondamentale su queste due cose...se c sono analogie con la lista del c....e magari se potete fare quelke esempio..stupido..anke solo in pseudocodice....cosìkkè possa capire in fretta....grazie tante.ciao |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
LinkedList è una collection. Ed è una implementazione concreta principalmente delle interfacce List e Queue (da Java5). Detto questo cosa non ti è chiaro?
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Oct 2007
Messaggi: 14
|
devo fare un programma che implementi una rubrica.....usando la classe Contatto e l'oggetto contatto..fatto tramite il costruttore....ecco poi dovrei fare una LinkedList di tutti i contatti usando anke collection...siccome sono nuovo del linguaggio nn saprei bene cm fare.....ecco il mio problema...qualek aiutino...magari con qualke riga di codice?...grazie
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quindi cosa intendi per "anche una collection"??? Domanda, giusto per sapere: ti è stato imposto di usare proprio LinkedList?? Normalmente quando si sceglie una collezione non è che si prende la prima a caso .... ogni collezione ha le sue caratteristiche, vantaggi e svantaggi. Quindi dipende da cosa ci devi poi fare con questo "insieme" di contatti. Comunque, per scrivere qualche riga di codice, ammesso che tu abbia una classe Contatto correttamente implementata, puoi fare: Codice:
LinkedList<Contatto> contatti = new LinkedList<Contatto> (); Contatto c = new Contatto (.......); contatti.add (c); .....
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Oct 2007
Messaggi: 14
|
grazie...in pratica devo usare una Collections....che mi serve per ordinare i contatti contenuti nella LinkedList dei contatti....
mi è stato suggerito di usare compareTo... io vi posto il codice che ho fatto io... cioè..la classe Contatto e la classe Rubrica...poi mi son fermato perkè nn sapevo andare avanti... Codice PHP:
Codice PHP:
poi dovrò modificare l'inserto dei nomi da tastiera..con le nextLIne.. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Questo perché devi stabilire come 2 oggetti di tipo Contatto devono essere comparati tra di loro.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Oct 2007
Messaggi: 14
|
inizio a capirci qualcosa finalmente.....potresti darmi il link dove trovo la documentazione?..così almeno imparo anke questa cosa e posso fare la mia rubrica....grazie
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Se vuoi vedere la documentazione online, vedi <qui>. Se vuoi scaricarla (altamente consigliato), vai <qui> e scarica il pacchetto zip della documentazione.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Oct 2007
Messaggi: 14
|
grazie..cmq ora t posto cm ho sviluppato il programma con le annotazioni..così magari mi dici dove sbaglio..perkè nn riesco a capire bene gli errori..
questa è la class rubrica Codice PHP:
Codice PHP:
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Inoltre il compareTo è totalmente fuori senso. In <questa> discussione e in <questa> avevo fatto un esempio (basilare) di implementazione di Comparable.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
|
Innanzi tutto l'interfaccia Comparable devi implementarla in contatto, visto che sono proprio i contatti che devono essere comparati tra di loro per essere ordinati. Poi, il metodo compareTo ritorna 0 se i due oggetti comparati sono uguali, ritorna 1 se l'oggetto comparato è maggiore e -1 se è minore, ovvero se l'oggetto corrente è maggiore...Tra tutti questi maggiori e minori sicuramente avrai capito poco nulla per cui ti posto il compareTo che ho usato per mettere in ordine alfabetico gli elementi di una tabella (ovviamente composti da più Stringhe):
Codice PHP:
Spero che tu abbia capito Ciauz
__________________
iMac 27" 5K |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Oddio ... con l'esempio che hai fatto, dubito.
Innanzitutto sarebbe meglio usare i generics, se possibile. Se non li si usa, va anche bene fare il test e il lancio di ClassCastException ma in genere è sufficiente un cast (tanto lancerebbe lo stesso ClassCastException se l'oggetto non è appropriato). Inoltre se i campi da comparare sono di tipo String, è sufficiente usare il compareTo sulle stringhe. Morale della favola, volendo usare i generics e volendo fare la comparazione su cognome/nome e ammesso che ci siano dei metodi getNome/getCognome, basta fare: Codice:
public class Contatto implements Comparable<Contatto>
{
....
public int compareTo (Contatto altro)
{
int r = getCognome().compareTo (altro.getCognome());
if (r == 0)
r = getNome().compareTo (altro.getNome());
return r;
}
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#13 |
|
Junior Member
Iscritto dal: Oct 2007
Messaggi: 14
|
nn ho ancora risolto perfettamente il prog ma ora c sto capendo molto d +...
grazie |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:13.




















