Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Posortowana lista

0 views
Skip to first unread message

Tomasz Judycki

unread,
Oct 19, 2004, 10:29:14 AM10/19/04
to
Witam!

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/

Łukasz Skowroński

unread,
Oct 19, 2004, 10:45:42 AM10/19/04
to
Użytkownik "Tomasz Judycki" <tjudyck...@gazeta.pl> napisał w wiadomości
news:cl38bq$4sc$1...@inews.gazeta.pl...

> Staram się właśnie napisać posortowaną listę, czytam dokumentację,
> googluję,
> ale to jest najwyraźniej zbyt prosty problem.
>
> Mam klasę:
>
> public class ColumnAttr {
>
> [...]

>
> 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)
>


Spróbuj public class ColumnAttr implements Comparable :)

Pozdrawiam
ŁS


Tomasz Judycki

unread,
Oct 19, 2004, 12:00:45 PM10/19/04
to
Łukasz Skowroński <xxx...@xxxxxxx.com> napisał(a):

> > 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źć.

Tomasz Poradowski

unread,
Oct 19, 2004, 12:24:53 PM10/19/04
to
Tomasz Judycki <tjud...@gazeta.skasuj-to.pl> wrote:

> > 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

unread,
Oct 20, 2004, 5:57:07 AM10/20/04
to
Tomasz Poradowski <wei...@poczta.onet.pl> napisał(a):

> 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.

wrobel.cwirek

unread,
Oct 20, 2004, 6:35:55 AM10/20/04
to

Użytkownik "Tomasz Judycki" <tjud...@gazeta.SKASUJ-TO.pl> napisał w
wiadomości news:cl5cpj$ak3$1...@inews.gazeta.pl...

>
> 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.
>
www.javaalmanac.com


Tomasz Poradowski

unread,
Oct 20, 2004, 11:59:39 AM10/20/04
to
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.

Proszę nie odbierać tego jako złośliwość - ale jak już się wie, jak
korzystać z dokumentacji, to sporo rzeczy jest znacznie prostszych :)

Pozdrawiam,

Tomasz Judycki

unread,
Oct 20, 2004, 2:49:29 PM10/20/04
to
wrobel.cwirek <wrobel...@wp.pl> napisał(a):

Dzięki :-)

Piotr Korniak

unread,
Oct 19, 2004, 2:55:13 PM10/19/04
to
Witam,

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...

0 new messages