Tommy Skrevet 28. april 2005 Del Skrevet 28. april 2005 Har en liste med Person objekter. Når jeg legger til en Person bruker jeg i dag denne koden: public void leggTilPerson( Person p ) { if ( hode == null ) { hode = p; teller ++; return; } else { Person løper = hode; while ( løper.neste != null ) løper = løper.neste; løper.neste = p; teller ++; return; } } Denne legger bare inn bakerst i lista. Ville gjerne hatt disse satt inn sortert etter navn. Noen som har noen tips? Lenke til kommentar
slimjim1 Skrevet 29. april 2005 Del Skrevet 29. april 2005 Du kunne kanskje brukt import java.util.TreeSet; public void leggTilPerson( Person p ){ TreeSet personListe = new TreeSet(); personListe.add(p); } Dette blir et tre som legges alfabetisk... Kommer litt ann på objektene dine. Sjekk evt. API. Lenke til kommentar
gnab Skrevet 29. april 2005 Del Skrevet 29. april 2005 Nå looper du til slutten av lista og legger til personen der. Det du f. eks. kan gjøre er å loope, fremdeles så lenge du ikke har nådd slutten av lista, men også til du finner en person med navn som kommer etter den nye personen navn alfabetisk og sette inn den nye personen før denne.. Lenke til kommentar
zulo Skrevet 29. april 2005 Del Skrevet 29. april 2005 (endret) La Person klassen implementere Comparable interfacet. Da får Person objektene en metode "compareTo(Object o)" og du kan gjøre slik( hvis p og p2 er et Person objekt) int svar_like = p.compareTo(p2); Du må selv lage metoden compareTo i klassen Person..tenk deg at du får inn et Person objekt og skal sammenligne det med dette objektet på navn. Hvordan du gjør det finner du ut, bare sørg for at metoden returnerer en negativ int hvis dette objektet er mindre enn,0 hvis det er likt og positiv int hvis det er større enn. http://java.sun.com/j2se/1.5.0/docs/api/ja...Comparable.html Endret 29. april 2005 av zulo Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå