Loading:


    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.



    Napisz Artyku³

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

     




    Dodano przez: divix
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors