Article View: pl.comp.lang.java
Article #150528Sortowanie arraylist arraylisty
From: Buffalo
Date: Thu, 01 Jul 2010 15:17
Date: Thu, 01 Jul 2010 15:17
51 lines
2721 bytes
2721 bytes
Cześć,
Mam następujący problem :
Posiadam Arraylistę, których elementami są również Arraylisty :
ArrayList<ArrayList<String>> listaMain = new
ArrayList<ArrayList<String>>();
ArrayList<String> lista1 = new ArrayList<String>();
ArrayList<String> lista2 = new ArrayList<String>();
ArrayList<String> lista3 = new ArrayList<String>();
lista1.add("1");
lista1.add("Kraków");
lista2.add("2");
lista2.add("Warszawa");
lista3.add("3");
lista3.add("Łomża");
listaMain.add(lista1);
listaMain.add(lista2);
listaMain.add(lista3);
I teraz...chciałbym posortować główną Arraylistę tak, aby elementem
porównującym była druga wartość poszczególnych ArrayList - w tym
przypadku nazwa miasta. Wynik powinien być taki:
[[1, Kraków], [3, Łomża], [2, Warszawa]]
Próbowałem napisać coś takiego:
final Collator col = Collator.getInstance();
Collections.sort(listaMain, new Comparator<ArrayList<String>>() {
@Override
public int compare(ArrayList<String> o1, ArrayList<String> o2) {
col.compare(o1.get(1), o2.get(1));
}
});
...ale to się nie kompiluje :( Rozumiem, że to dlatego, ponieważ
ArrayList nie ma metody compare ...?
Z tym, że ja chcę porównać nie ArrayListy, a Stringi -
"col.compare(o1.get(1), o2.get(1))".
Jak to zrobić w miarę elegancko? Oczywiście mogę to zrobić brzydko i
naookoło :), ale nie chciałbym zaniżać już bardziej poziomu mojego
kodu ;)
Dzięki z góry!
Technical Details
Message-ID:
<9795fe35-71e8-406c-9898-57b1fdb0a0e1@z8g2000yqz.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!novia!news-out.readnews.com!transit3.readnews.com!postnews.google.com!z8g2000yqz.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!novia!news-out.readnews.com!transit3.readnews.com!postnews.google.com!z8g2000yqz.googlegroups.com!not-for-mail From: Buffalo <nowy84@gmail.com> Newsgroups: pl.comp.lang.java Subject: Sortowanie arraylist arraylisty Date: Thu, 1 Jul 2010 08:17:41 -0700 (PDT) Organization: http://groups.google.com Lines: 55 Message-ID: <9795fe35-71e8-406c-9898-57b1fdb0a0e1@z8g2000yqz.googlegroups.com> NNTP-Posting-Host: 212.160.103.226 Mime-Version: 1.0 X-Trace: posting.google.com 1277997462 25911 127.0.0.1 (1 Jul 2010 15:17:42 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 1 Jul 2010 15:17:42 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: z8g2000yqz.googlegroups.com; posting-host=212.160.103.226; posting-account=wv17JwoAAAB4J6wBE_uJo1WwElj9OT-h User-Agent: G2/1.0 X-HTTP-Via: 1.1 proksa:8080 (squid/2.7.STABLE3) X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9 (.NET CLR 3.5.30729),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit