Staram się właśnie napisać posortowaną listę, czytam dokumentację, googluję,
ale to jest najwyraźniej zbyt prosty problem.
Mam klasę:
public class ColumnAttr {
int position;
public ColumnAttr( int position ) {
this.position = position;
}
public int compare( Object obj ) {
ColumnAttr columnAttr = (ColumnAttr)obj;
if (columnAttr.position < this.position)
return -1;
else if (columnAttr.position > this.position)
return 1;
else
return 0;
}
public boolean equals( Object obj ) {
ColumnAttr columnAttr = (ColumnAttr)obj;
if (columnAttr.position == this.position)
return true;
else
return false;
}
}
i używam jej tak:
ArrayList columnList = new ArrayList();
columnList.add(new ColumnAttr(2));
columnList.add(new ColumnAttr(1));
Collections.sort( columnList );
w czego efekcie dostaję:
Exception in thread "main" java.lang.ClassCastException
at java.util.Arrays.mergeSort(Arrays.java:1152)
at java.util.Arrays.sort(Arrays.java:1079)
at java.util.Collections.sort(Collections.java:113)
at c.main(c.java:11)
Czy dobrze się domyślam, że brakuje jakiegoś banału?
tj
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Spróbuj public class ColumnAttr implements Comparable :)
Pozdrawiam
ŁS
> > ale to jest najwyraźniej zbyt prosty problem.
> >
>
> Spróbuj public class ColumnAttr implements Comparable :)
Dzięki - o to chodziło :-) Takie proste, podstawowe informacje ciężko znaleźć.
> > Spróbuj public class ColumnAttr implements Comparable :)
>
> Dzięki - o to chodziło :-) Takie proste, podstawowe informacje ciężko znaleźć.
Dlaczego ciężko? Pierwsza linia opisu metody, której używasz
(Collections.sort()) zawiera to czego szukałeś:
"Sorts the specified list into ascending order, according to the natural
ordering of its elements. All elements in the list must implement the
*Comparable* interface."
Pozdr.
Tomek
--
batonik (at) provider.pl
> Tomasz Judycki <tjud...@gazeta.skasuj-to.pl> wrote:
>
> > Dzięki - o to chodziło :-) Takie proste, podstawowe informacje
> > ciężko znaleźć.
>
> Dlaczego ciężko? Pierwsza linia opisu metody, której używasz
> (Collections.sort()) zawiera to czego szukałeś:
Jak się już wie, jak coś zrobić to wszystko wydaje się proste. Czytałem opisy
Comparable, List, ArrayList, Vector, próbowałem znaleźć w necie jakiś prosty
przykład, ale bez powodzenia. No a jedna, krótka podpowiedź Łukasza
wystarczyła.
Nota bene: czy jest gdzieś w necie opis typu 'learn by example'? Nie tak
rozwlekłe i podstawowe jak tutorial, tylko krótkie przykłady.
> > > Dzięki - o to chodziło :-) Takie proste, podstawowe informacje
> > > ciężko znaleźć.
> >
> > Dlaczego ciężko? Pierwsza linia opisu metody, której używasz
> > (Collections.sort()) zawiera to czego szukałeś:
>
> Jak się już wie, jak coś zrobić to wszystko wydaje się proste.
Proszę nie odbierać tego jako złośliwość - ale jak już się wie, jak
korzystać z dokumentacji, to sporo rzeczy jest znacznie prostszych :)
Pozdrawiam,
Troche jak w temacie...
Jak mozna 'utrzymac' ta sama pozycje (wiersz) po posortowaniu.
Np. Stoje na 2 wierszu z 20 po posortowaniu jest on 18'ty.
Pozdrowienia
Piotr Korniak
Użytkownik "Tomasz Poradowski" <wei...@poczta.onet.pl> napisał w wiadomości
news:cl3f4l$auj$2...@phone.provider.pl...