Hello,
sattuisiko joku tietämään kuinka ArrayList:issä järjestetään olioita tietyn ominaisuutensa mukaan indekseihin 0:sta ylöspäin?
Jos luon urheilijaryhmän, joka olisi tarkoitus järjestää siten, että nopein juoksija olisi aina listassa ensimmäisenä. Ja tämä pitäisi tehdä jo jäsenten luontivaiheessa. Tässä ohjelmassa oletetaan etteivät tulokset muutu :).
Tämä on luontimetodini tässä vaiheessa:
public void lisaaJasen(Jasen uusi){
this.jasenet.add(uusi);
}
Millä metodilla saisin jäsenet suoraan nopeuden mukaiseen järjestykseen? En tajunnut Javan englanninkielisiltä sivuilta onko oikea metodi ehkä this.jasenet.set(int index, E element)?? Ja miten tätä käytettäisiin?
Saan nopeuden metodilla "this.jasenet.get(i).kerroTulos();".
sattuisiko joku tietämään kuinka ArrayList:issä järjestetään olioita tietyn ominaisuutensa mukaan indekseihin 0:sta ylöspäin?
Jos luon urheilijaryhmän, joka olisi tarkoitus järjestää siten, että nopein juoksija olisi aina listassa ensimmäisenä. Ja tämä pitäisi tehdä jo jäsenten luontivaiheessa. Tässä ohjelmassa oletetaan etteivät tulokset muutu :).
Tämä on luontimetodini tässä vaiheessa:
public void lisaaJasen(Jasen uusi){
this.jasenet.add(uusi);
}
Millä metodilla saisin jäsenet suoraan nopeuden mukaiseen järjestykseen? En tajunnut Javan englanninkielisiltä sivuilta onko oikea metodi ehkä this.jasenet.set(int index, E element)?? Ja miten tätä käytettäisiin?
Saan nopeuden metodilla "this.jasenet.get(i).kerroTulos();".
Vastaukset 1
Vanhimmat
import java.util.Collections;
import java.util.Comparator;
public void lisaaJasen(Jasen uusi)
{
this.jasenet.add(uusi);
Collections.sort(jasenet, new Comparator()
{
public int compare(Jasen o1, Jasen o2)
{
return o1.kerroTulos() - o2.kerroTulos();
}
});
}
ja arraylistin luot näin niin ei tuu varoitusta:
ArrayList jasenet = new ArrayList();