Sortowanie liczb w List, ArrayList, Collection w JAVA
Skrypt pokazuje jak posortować listę ( w tym przypadku listę obiektów z właściwością 'cena') według porządku malejącego. (od największego do najmniejeszego). List<MojObiekt>. Przykład używa comparator'a oraz Collection.sort metody dla listy.
Listing
//Główny kod, przyjmijmy że listaObiektów ma 3 obiekty z właściwościami 'cena' zadeklarowanymi
MojObiekt[] listaObiektowArray = new MojObiekt[listaObiektow.size()];
//konwertowanie do Array
listaObiektow.toArray(listaObiektowArray);
//tworzenie nowego comparatora
Comparator<MojObiekt> nazwaComparator = new CenaComparator();
//akcja sortowania
Arrays.sort(listaObiektowArray , nazwaComparator);
//konwertujemy spowrotem na Listę obiektów
List<MojObiekt> posortowanaLista = Arrays.asList(listaObiektowArray );
//kod dla comparatora
import java.util.Comparator;
public class CenaComparator implements Comparator<MojObiekt>{
public int compare(MojObiekt ao1, MojObiekt ao2) {
if (ao1.getCena() == null || ao2.getCena() == null){
return 0;
}
if (ao1.getCena() > ao2.getCena()){
return -1;
}
else if (ao1.getCena() == ao2.getCena()){
return 0;
}
else {
return 1;
}
}
}
MojObiekt[] listaObiektowArray = new MojObiekt[listaObiektow.size()];
//konwertowanie do Array
listaObiektow.toArray(listaObiektowArray);
//tworzenie nowego comparatora
Comparator<MojObiekt> nazwaComparator = new CenaComparator();
//akcja sortowania
Arrays.sort(listaObiektowArray , nazwaComparator);
//konwertujemy spowrotem na Listę obiektów
List<MojObiekt> posortowanaLista = Arrays.asList(listaObiektowArray );
//kod dla comparatora
import java.util.Comparator;
public class CenaComparator implements Comparator<MojObiekt>{
public int compare(MojObiekt ao1, MojObiekt ao2) {
if (ao1.getCena() == null || ao2.getCena() == null){
return 0;
}
if (ao1.getCena() > ao2.getCena()){
return -1;
}
else if (ao1.getCena() == ao2.getCena()){
return 0;
}
else {
return 1;
}
}
}
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno