->arne_v: Nej, jeg mente faktisk List<int[]>. Bruger man denne, kompilerer flg. fint: int[] x={3,2,1}; List<int[]> x2=Arrays.asList(x);
Men Collections.sort(x2); - virker så ikke.
Umiddelbart har du jo ret i, at List<int> jo er parallelt til List<String>, men "int" er jo ikke en objekt-type, og flg. kompilerer ikke: List<int> x2=Arrays.asList(x);
Er det ikke lidt underligt, at List<int[]> kompilerer, men at Collections.sort() ikke virker efterfølgende?
Har du brug for at det er en liste? For på den måde du gør det, konverterer du et array til en liste, og videre til et Array i sorteringen. Hvis det er muligt at sorte array'et før du laver det til en liste, er det klart optimalt.
->snoop_one: Enig. Dit eks. vil selvfølgelig virke, da det er helt parallelt til String-varianten, og du udnytter så, at Integer er objekt-wrapper udgaven af int.
Mht. objekter og ikke-objekter er int jo en simpel type, men int[] er et objekt, og List<int[]> x2=Arrays.asList(x); - kompilerer fint.
Men igen: Collections.sort(x2); - virker så bare ikke.
Umiddelbart er det lidt underligt, at man kan lave et List-objekt, her List<int[]>, hvor Collections.sort() ikke efterfølgende kan kompilere (sort() tager jo her et List-objekt som argument), men forklaringen er jo, som Arne skriver, at int[] ikke kan sorteres, og det opdages allerede under kompileringen, hvor man vel typisk først vil få en fejl under eksekvering, hvis elementerne i List-objektet ikke er comparable.
Altså noget med, at Integer[] i1={1,2,3}; i1[0].compareTo(i1[1]); - giver mening, da hvert element er af type Integer, som er comparable - mens int[] i1={1,2,3}; i1[0].compareTo(i1[1]); - ikke dur, da elementerne er int's.
Jeg håber ikke, at diskussionen er blevet FOR akademisk eller for vrøvlet herfra for den sags skyld :-)
Men husk også lige på, at du sortere arrays dvs. x2.getSize() giver 1, så det giver heller ikke meget mening at sortere et element ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.