/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Sortering af objeckter i Array (Newbie..)
Fra : Lars H. Fischer


Dato : 22-10-03 21:09

Howdy all

Jeg sidder og kæmper med at få sorteret et array (titel, forfatter, art) i
alfabetisk orden efter titel.

Arrayet er oprettet og objekterne er oprettet med Comparable interface....
Men jeg kan ikke gennemskue hvorfor jeg ikke kan kalde sorteringsrutinen i
Kartotek.java linie 45

Al hjælp er meget velkommen og det er nok et billigt grin for jer hardcore
kodere .-)

Koden kan ses her:

http://hjem.tele2adsl.dk/~w-419864/Kartotek.java
http://hjem.tele2adsl.dk/~w-419864/Bogsamling.java
http://hjem.tele2adsl.dk/~w-419864/Bog.java
http://hjem.tele2adsl.dk/~w-419864/Sorter.java

Hilsen
Lars H. Fischer



 
 
Lars M (22-10-2003)
Kommentar
Fra : Lars M


Dato : 22-10-03 21:28


"Lars H. Fischer" <newsgroup@nospam.dk> wrote in message
news:pqBlb.819$dP6.477@news.get2net.dk...
> Howdy all
>
> Jeg sidder og kæmper med at få sorteret et array (titel, forfatter, art) i
> alfabetisk orden efter titel.
>
> Arrayet er oprettet og objekterne er oprettet med Comparable interface....
> Men jeg kan ikke gennemskue hvorfor jeg ikke kan kalde sorteringsrutinen i
> Kartotek.java linie 45
>
Sorteren tager Comparable[] som argument. Men du prøver at give en
BogSamling med.
Og klassen BogSamling er ikke i sig selv et array af Comparable!

Mvh
Lars




Lars H. Fischer (22-10-2003)
Kommentar
Fra : Lars H. Fischer


Dato : 22-10-03 21:34

"Lars M" <lamosfjern@dettepost8.tele.dk> skrev i en meddelelse
news:3f96e829$0$30085$edfadb0f@dtext01.news.tele.dk...
>
> "Lars H. Fischer" <newsgroup@nospam.dk> wrote in message
> news:pqBlb.819$dP6.477@news.get2net.dk...
> > Howdy all
> >
> > Jeg sidder og kæmper med at få sorteret et array (titel, forfatter,
art) i
> > alfabetisk orden efter titel.
> >
> > Arrayet er oprettet og objekterne er oprettet med Comparable
interface....
> > Men jeg kan ikke gennemskue hvorfor jeg ikke kan kalde
sorteringsrutinen i
> > Kartotek.java linie 45
> >
> Sorteren tager Comparable[] som argument. Men du prøver at give en
> BogSamling med.
> Og klassen BogSamling er ikke i sig selv et array af Comparable!
>

Ja, jeg tænkte nok det var det den brokkede sig over.... Hvordan dælen
får jeg den til at sortere array'et uden at skulle skrive det hele om
igen ?

Der må da findes en smart måde...

Hilsen
Lars H. Fischer



Anders K. Olsen (22-10-2003)
Kommentar
Fra : Anders K. Olsen


Dato : 22-10-03 21:47

"Lars H. Fischer" <newsgroup@nospam.dk> wrote in message
news:4OBlb.830$Pm7.290@news.get2net.dk...
> "Lars M" <lamosfjern@dettepost8.tele.dk> skrev i en meddelelse
> news:3f96e829$0$30085$edfadb0f@dtext01.news.tele.dk...
> > Sorteren tager Comparable[] som argument. Men du prøver at give en
> > BogSamling med.
> > Og klassen BogSamling er ikke i sig selv et array af Comparable!
> >
>
> Ja, jeg tænkte nok det var det den brokkede sig over.... Hvordan dælen
> får jeg den til at sortere array'et uden at skulle skrive det hele om
> igen ?
>
> Der må da findes en smart måde...

Nu har jeg ikke kikket så meget på din kode, men har du set på
java.util.Arrays.sort(Object[] a, Comparator comp)?

Du skal bare implementere en Comparator for dine klasser, så kan ovenstående
metode sortere dine arrays for dig.

/Anders



Lars M (22-10-2003)
Kommentar
Fra : Lars M


Dato : 22-10-03 22:14


"Anders K. Olsen" <akol_dk@hotmail.com> wrote in message
news:3f96ecc6$0$94873$edfadb0f@dtext02.news.tele.dk...
> "Lars H. Fischer" <newsgroup@nospam.dk> wrote in message
> news:4OBlb.830$Pm7.290@news.get2net.dk...
> > "Lars M" <lamosfjern@dettepost8.tele.dk> skrev i en meddelelse
> > news:3f96e829$0$30085$edfadb0f@dtext01.news.tele.dk...
> > > Sorteren tager Comparable[] som argument. Men du prøver at give en
> > > BogSamling med.
> > > Og klassen BogSamling er ikke i sig selv et array af Comparable!
> > >
> >
> > Ja, jeg tænkte nok det var det den brokkede sig over.... Hvordan dælen
> > får jeg den til at sortere array'et uden at skulle skrive det hele om
> > igen ?
> >
> > Der må da findes en smart måde...
>
> Nu har jeg ikke kikket så meget på din kode, men har du set på
> java.util.Arrays.sort(Object[] a, Comparator comp)?
>
> Du skal bare implementere en Comparator for dine klasser, så kan
ovenstående
> metode sortere dine arrays for dig.
>
Den metode Anders foreslår er meget anvendt.
Hvis du vil bruge din nuværende struktur, så prøv noget med:

I sorter:

public static void insertionSort (BogSamling boeger)
   {
Comparable[] objects = boeger.toArray();
.......

I BogSamling:

public Comparable[] toArray() {
return samling;
}


Mvh
Lars



Lars H. Fischer (22-10-2003)
Kommentar
Fra : Lars H. Fischer


Dato : 22-10-03 22:59


"Lars M" <lamosfjern@dettepost8.tele.dk> skrev i en meddelelse
news:3f96f30c$0$30078$edfadb0f@dtext01.news.tele.dk...
>

snip

> Den metode Anders foreslår er meget anvendt.
> Hvis du vil bruge din nuværende struktur, så prøv noget med:
>
> I sorter:
>
> public static void insertionSort (BogSamling boeger)
> {
> Comparable[] objects = boeger.toArray();
> .......
>
> I BogSamling:
>
> public Comparable[] toArray() {
> return samling;
> }
>

Jeg har stadig lidt problemer med at få det implementeret helt
korrekt.... Hvordan skal sorteringen kaldes og kan jeg beholde resten af
min kode som den foruden ovenstående du har tilføjet...?

Hilsen
Lars H. Fischer



Lars M (23-10-2003)
Kommentar
Fra : Lars M


Dato : 23-10-03 17:54


"Lars H. Fischer" <newsgroup@nospam.dk> wrote in message
news:V1Dlb.866$by.303@news.get2net.dk...
>
> Jeg har stadig lidt problemer med at få det implementeret helt
> korrekt.... Hvordan skal sorteringen kaldes
>
Kaldet til sortering skal ikke ændres.

> og kan jeg beholde resten af
> min kode som den foruden ovenstående du har tilføjet...?
>
Det må du (og din kompiler) finde ud af

Mvh
Lars




Lars H. Fischer (23-10-2003)
Kommentar
Fra : Lars H. Fischer


Dato : 23-10-03 18:54

"Lars M" <lamosfjern@dettepost8.tele.dk> skrev i en meddelelse
news:3f98079e$0$30069$edfadb0f@dtext01.news.tele.dk...
>
> "Lars H. Fischer" <newsgroup@nospam.dk> wrote in message
> news:V1Dlb.866$by.303@news.get2net.dk...
> >
> > Jeg har stadig lidt problemer med at få det implementeret helt
> > korrekt.... Hvordan skal sorteringen kaldes
> >
> Kaldet til sortering skal ikke ændres.
>
> > og kan jeg beholde resten af
> > min kode som den foruden ovenstående du har tilføjet...?
> >
> Det må du (og din kompiler) finde ud af
>

Mange tak for hjælpen, det ledte mig ind på det rigtige spor. Så nu skal
jeg bare lige rettet det designmæssige til

Det havde nok taget mig ekstra mange timer, at finde frem til en korrekt
løsning, hvis jeg ikke blev sparket i den rigtige retning

Hilsen
Lars H. Fischer



Nikolaj Hansen (25-10-2003)
Kommentar
Fra : Nikolaj Hansen


Dato : 25-10-03 19:30

Om collections generelt (og sortering af disse).

Du kunne måske have noget ud af at læse :

http://java.sun.com/j2se/1.4.2/docs/guide/collections/

Her gennemgås stort set alt mht. brug af collections osv. Også sortering af
elementer.

- Nikolaj



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408188
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste