Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Mikä on taulukko? | Taulukot
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Java Perusteet

bookMikä on taulukko?

Taulukot

Tietojen tallentaminen yksinomaan muuttujiin ei ole aina kätevää, sillä se kuluttaisi huomattavan määrän pino-muistia ja vaatisi paljon koodirivejä.

Tähän ongelmaan ratkaisun tarjoavat taulukot.

Tarkastellaan taulukon perussyntaksia Javan määrittelyssä:

Main.java

Main.java

copy
1
dataType[] arrayName = new dataType[capacity];

Voimme käyttää mitä tahansa tietotyyppiä taulukon määrittelyssä, mukaan lukien int, float, char ja muita. Voit jopa käyttää omia luokkiasi taulukon määrittelyissä. Oman luokan ja sen olioiden luomisen opiskelu käsitellään erillisessä Java Extended -kurssissa.

Taulukon koon määrittäminen hakasulkeissa ([]) on pakollista. Tarkastellaan esimerkkiä, jossa luodaan int-tyyppinen taulukko, jonka koko on 5:

Main.java

Main.java

copy
12345678910
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Prints the size of the array System.out.println(intArray.length); } }

Kuten saatat huomata, käytimme jotain uutta konsolitulostuksen yhteydessä. Tätä kutsutaan taulukon ominaisuudeksi.

Taulukoilla on omat ominaisuutensa. Ominaisuuksia käytetään piste (.) -merkinnällä olion yhteydessä. Esimerkissämme intArray-taulukolla on ominaisuuksia, ja käytämme niistä yhtä. .length-ominaisuus palauttaa taulukon koon (pituuden) int-arvona. Tämä voidaan kirjoittaa myös eri tavalla:

Main.java

Main.java

copy
123456789101112
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Declares a new int with the value of the array's size int length = intArray.length; // Prints the size of the array System.out.println(length); } }

Tarkastellaan nyt kolmea keskeistä taulukkojen käsittelyyn tarkoitettua menetelmää ja ominaisuutta:

  • Arrays.sort(array): lajittelee taulukon alkiot nousevaan järjestykseen;
  • Arrays.fill(array, value): asettaa kaikki taulukon alkiot määritettyyn arvoon;
  • Arrays.toString(array): muuntaa taulukon merkkijonoesitykseksi, mikä helpottaa sen alkioiden näyttämistä.
Main.java

Main.java

copy
1234567891011121314151617
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int[] array = {5, 2, 9, 1, 6}; // Sort the array Arrays.sort(array); System.out.println("Sorted array: " + Arrays.toString(array)); // Fill the array with the value 0 Arrays.fill(array, 0); System.out.println("Array after filling: " + Arrays.toString(array)); } }

Ensin lajitellaan taulukko nousevaan järjestykseen käyttämällä Arrays.sort()-metodia ja näytetään lajiteltu taulukko käyttämällä Arrays.toString(), joka muuntaa taulukon luettavaan merkkijonoon. Tämän jälkeen kaikki taulukon alkiot korvataan arvolla 0 käyttäen Arrays.fill()-metodia, ja päivitetty taulukko tulostetaan samassa luettavassa muodossa.

Kuinka hakea tiettyä tietoa taulukosta?

Taulukot Javassa ovat indeksoituja. Jokainen taulukon alkio sijaitsee omassa solussaan ja sille annetaan yksilöllinen ID. Taulukon alkioiden numerointi alkaa nollasta. Oletetaan, että meillä on taulukko, jossa on luvut nollasta yhdeksään, joten siinä on 10 alkiota.

Tarkastellaan kaaviota, joka havainnollistaa, miten alkiot on järjestetty taulukkoon:

Jos meillä on taulukko, jossa on 10 alkiota, ensimmäinen alkio tallennetaan indeksiin 0 ja viimeinen indeksiin 9, koska indeksointi alkaa nollasta.

Käytännön harjoittelu on aina parempi kuin pelkkä teoria, joten tarkastellaan esimerkkiä, jossa lisätään ja poistetaan alkioita taulukosta käyttämällä indeksejä:

Main.java

Main.java

copy
12345678910111213141516
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Fills the array with numbers from 1 to 5 intArray[0] = 1; intArray[1] = 2; intArray[2] = 3; intArray[3] = 4; intArray[4] = 5; // Prints the fourth element of the array System.out.println(intArray[3]); } }

Olemme täyttäneet taulukkomme alkioilla yhdestä viiteen määrittämällä jokaisen alkion indeksillä. Tämä tapa ei kuitenkaan ole kovin elegantti ja vaatii paljon koodirivejä. Tarkastellaan vaihtoehtoista tapaa määritellä taulukko, joka on esitäytetty:

Main.java

Main.java

copy
12345678910
package com.example; public class Main { public static void main(String[] args) { // Declares a new pre-filled int array with a length of 5 int[] intArray = {1, 2, 3, 4, 5}; // Prints the first element of the array System.out.println(intArray[0]); } }

Luoimme taulukon, joka on identtinen aiemmin tekemämme kanssa, mutta tällä kertaa se vaati vähemmän rivejä koodia ja näytti tyylikkäämmältä.

On tärkeää huomata, että käytettäessä tätä taulukkonotaatiota, alkioiden tulee olla aaltosulkujen ({}) sisällä ja erotettuina pilkuilla.

1. Mitä tulostuu, kun tämä koodi suoritetaan?

2. Mitä tulostuu, kun tämä koodi suoritetaan?

question mark

Mitä tulostuu, kun tämä koodi suoritetaan?

Select the correct answer

question mark

Mitä tulostuu, kun tämä koodi suoritetaan?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookMikä on taulukko?

Pyyhkäise näyttääksesi valikon

Taulukot

Tietojen tallentaminen yksinomaan muuttujiin ei ole aina kätevää, sillä se kuluttaisi huomattavan määrän pino-muistia ja vaatisi paljon koodirivejä.

Tähän ongelmaan ratkaisun tarjoavat taulukot.

Tarkastellaan taulukon perussyntaksia Javan määrittelyssä:

Main.java

Main.java

copy
1
dataType[] arrayName = new dataType[capacity];

Voimme käyttää mitä tahansa tietotyyppiä taulukon määrittelyssä, mukaan lukien int, float, char ja muita. Voit jopa käyttää omia luokkiasi taulukon määrittelyissä. Oman luokan ja sen olioiden luomisen opiskelu käsitellään erillisessä Java Extended -kurssissa.

Taulukon koon määrittäminen hakasulkeissa ([]) on pakollista. Tarkastellaan esimerkkiä, jossa luodaan int-tyyppinen taulukko, jonka koko on 5:

Main.java

Main.java

copy
12345678910
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Prints the size of the array System.out.println(intArray.length); } }

Kuten saatat huomata, käytimme jotain uutta konsolitulostuksen yhteydessä. Tätä kutsutaan taulukon ominaisuudeksi.

Taulukoilla on omat ominaisuutensa. Ominaisuuksia käytetään piste (.) -merkinnällä olion yhteydessä. Esimerkissämme intArray-taulukolla on ominaisuuksia, ja käytämme niistä yhtä. .length-ominaisuus palauttaa taulukon koon (pituuden) int-arvona. Tämä voidaan kirjoittaa myös eri tavalla:

Main.java

Main.java

copy
123456789101112
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Declares a new int with the value of the array's size int length = intArray.length; // Prints the size of the array System.out.println(length); } }

Tarkastellaan nyt kolmea keskeistä taulukkojen käsittelyyn tarkoitettua menetelmää ja ominaisuutta:

  • Arrays.sort(array): lajittelee taulukon alkiot nousevaan järjestykseen;
  • Arrays.fill(array, value): asettaa kaikki taulukon alkiot määritettyyn arvoon;
  • Arrays.toString(array): muuntaa taulukon merkkijonoesitykseksi, mikä helpottaa sen alkioiden näyttämistä.
Main.java

Main.java

copy
1234567891011121314151617
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int[] array = {5, 2, 9, 1, 6}; // Sort the array Arrays.sort(array); System.out.println("Sorted array: " + Arrays.toString(array)); // Fill the array with the value 0 Arrays.fill(array, 0); System.out.println("Array after filling: " + Arrays.toString(array)); } }

Ensin lajitellaan taulukko nousevaan järjestykseen käyttämällä Arrays.sort()-metodia ja näytetään lajiteltu taulukko käyttämällä Arrays.toString(), joka muuntaa taulukon luettavaan merkkijonoon. Tämän jälkeen kaikki taulukon alkiot korvataan arvolla 0 käyttäen Arrays.fill()-metodia, ja päivitetty taulukko tulostetaan samassa luettavassa muodossa.

Kuinka hakea tiettyä tietoa taulukosta?

Taulukot Javassa ovat indeksoituja. Jokainen taulukon alkio sijaitsee omassa solussaan ja sille annetaan yksilöllinen ID. Taulukon alkioiden numerointi alkaa nollasta. Oletetaan, että meillä on taulukko, jossa on luvut nollasta yhdeksään, joten siinä on 10 alkiota.

Tarkastellaan kaaviota, joka havainnollistaa, miten alkiot on järjestetty taulukkoon:

Jos meillä on taulukko, jossa on 10 alkiota, ensimmäinen alkio tallennetaan indeksiin 0 ja viimeinen indeksiin 9, koska indeksointi alkaa nollasta.

Käytännön harjoittelu on aina parempi kuin pelkkä teoria, joten tarkastellaan esimerkkiä, jossa lisätään ja poistetaan alkioita taulukosta käyttämällä indeksejä:

Main.java

Main.java

copy
12345678910111213141516
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Fills the array with numbers from 1 to 5 intArray[0] = 1; intArray[1] = 2; intArray[2] = 3; intArray[3] = 4; intArray[4] = 5; // Prints the fourth element of the array System.out.println(intArray[3]); } }

Olemme täyttäneet taulukkomme alkioilla yhdestä viiteen määrittämällä jokaisen alkion indeksillä. Tämä tapa ei kuitenkaan ole kovin elegantti ja vaatii paljon koodirivejä. Tarkastellaan vaihtoehtoista tapaa määritellä taulukko, joka on esitäytetty:

Main.java

Main.java

copy
12345678910
package com.example; public class Main { public static void main(String[] args) { // Declares a new pre-filled int array with a length of 5 int[] intArray = {1, 2, 3, 4, 5}; // Prints the first element of the array System.out.println(intArray[0]); } }

Luoimme taulukon, joka on identtinen aiemmin tekemämme kanssa, mutta tällä kertaa se vaati vähemmän rivejä koodia ja näytti tyylikkäämmältä.

On tärkeää huomata, että käytettäessä tätä taulukkonotaatiota, alkioiden tulee olla aaltosulkujen ({}) sisällä ja erotettuina pilkuilla.

1. Mitä tulostuu, kun tämä koodi suoritetaan?

2. Mitä tulostuu, kun tämä koodi suoritetaan?

question mark

Mitä tulostuu, kun tämä koodi suoritetaan?

Select the correct answer

question mark

Mitä tulostuu, kun tämä koodi suoritetaan?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1
some-alt