List- ja Set-kokoelmat
Ymmärtäkää List- ja Set-kokoelmien erot: järjestys, duplikaatit ja tavallisimmat operaatiot. Lisäätte, poistatte, haette ja käytte alkioita läpi yksinkertaisten esimerkkien avulla.
List- ja Set-kokoelmat on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä kokoelmat ovat?
Kokoelmat sisältävät olioryhmiä. List on järjestetty ja indeksipohjainen; Set keskittyy jäsenyyteen ja ainutkertaisuuteen. Valitkaa rakenne sen mukaan, mitä kysytte: järjestystä vai ainutkertaisuutta?
List vai Set — avainkohdat
- List: säilyttää lisäysjärjestyksen, sallii duplikaatit ja mahdollistaa käytön indeksillä.
- Set: ei sisällä duplikaatteja; HashSet ei takaa järjestystä.
- Valitkaa List sekvensseille ja Set duplikaattien välttämiseen sekä nopeisiin jäsenyystarkistuksiin.
Koodi: ArrayListin perusteet
ArrayList säilyttää järjestyksen ja sallii duplikaatit. Alkioon voi päästä indeksillä, ja sen voi poistaa arvon tai indeksin perusteella.
public class Main {
public static void main(String[] args) {
java.util.List<String> items = new java.util.ArrayList<>();
// add elements (duplicates allowed)
items.add("apple");
items.add("banana");
items.add("apple"); // duplicate ok
// access by index
System.out.println(items.get(0)); // apple
// remove by value and by index
items.remove("banana");
items.remove(0); // remove first
// print remaining
System.out.println(items); // [apple]
}
}
Yleiset operaatiot
Yleisiä toimintoja:
- add(e), remove(e), contains(e)
- size() palauttaa alkioiden määrän
- Käykää kokoelma läpi indeksin tai enhanced for -silmukan avulla
Koodi: HashSetin ainutkertaisuus
HashSet poistaa duplikaatit ja helpottaa jäsenyystarkistuksia. Tulostuksessa alkiot voivat olla missä tahansa järjestyksessä.
public class Main {
public static void main(String[] args) {
java.util.Set<String> tags = new java.util.HashSet<>();
tags.add("java");
tags.add("oop");
tags.add("java"); // duplicate ignored
System.out.println("size=" + tags.size()); // 2
// membership check
System.out.println("has oop? " + tags.contains("oop"));
System.out.println(tags); // order not guaranteed
}
}
Koodi: läpikäyntitavat
Käyttäkää indeksiä, kun tarvitsette sijainteja; käyttäkää enhanced for -silmukkaa luettavuuden vuoksi, kun tarvitsette vain alkiot.
public class Main {
public static void main(String[] args) {
java.util.List<String> list = new java.util.ArrayList<>();
list.add("A"); list.add("B"); list.add("C");
// classic for with index
for (int i = 0; i < list.size(); i = i + 1) {
System.out.print(list.get(i) + (i < list.size()-1 ? " " : "\n"));
}
// enhanced for (for-each)
for (String s : list) {
System.out.print("[" + s + "]");
}
System.out.println();
}
}
Listin ja Setin tarkistus
Pikatarkistus: Mikä Listiä ja Setiä Javassa koskeva väite pitää paikkansa?
Kertaus
Kertaus: Käyttäkää Listiä järjestettyihin sekvensseihin ja Setiä ainutkertaisten alkioiden sekä jäsenyystarkistusten käsittelyyn. Harjoitus: muuntakaa List Setiksi duplikaattien poistamiseksi ja tarvittaessa takaisin, jos tarvitsette järjestyksen.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”List- ja Set-kokoelmat” ilmainen?
Kyllä – oppitunnin ”List- ja Set-kokoelmat” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”List- ja Set-kokoelmat”?
Ymmärtäkää List- ja Set-kokoelmien erot: järjestys, duplikaatit ja tavallisimmat operaatiot. Lisäätte, poistatte, haette ja käytte alkioita läpi yksinkertaisten esimerkkien avulla. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.
Kuinka kauan ”List- ja Set-kokoelmat”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- List- ja Set-kokoelmat
- Itäeraattorit ja laajennettu for
- Kokoelmien apuohjelmat