🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #150528

Sortowanie arraylist arraylisty

#150528
From: Buffalo
Date: Thu, 01 Jul 2010 15:17
51 lines
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-mail

Show 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