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();".
ArrayList
tiedonJärjestäjä
1
446
Vastaukset 1
- qpåorq
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();
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Herkkyydestä
Toisessa ketjussa toivottiin keskustelua herkkyydestä. Aloitan omalla näkemykselläni. Mielestäni herkät ihmiset ovat l273922Arvaako kukaan?
"Humalojalla metalliromun keräyspaikalla on kulkenut pitkin kevättä ja kesää joku henkilö, joka on vienyt sieltä kymmeni48717- 67681
Tuntuu pahalta meidän molempien puolesta
Anteeksi, että olen tällainen pelkuri. En vaan usko rakkauteen enää miehen ja naisen välillä omalla kohdalla. Tiedän, et35574- 52564
Olen kiinnostunut sinusta, en seksistä
Vihjailuja toiseen suuntaan on tullut niin paljon, että asia on korjattava. En näe sinua esineenä, vaan hienona persoona30486- 48467
- 30459
- 38450
En pyytele enää koskaan anteeksi mitään sinulta
Olet ollut kohtuuttoman kylmä ja tyly tilanteeseen nähden.45437