Mikä on taulukko?
Taulukot
Tietojen tallentaminen ainoastaan 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
1dataType[] arrayName = new dataType[capacity];
Voimme käyttää mitä tahansa tietotyyppiä taulukon määrittelyssä, kuten int, float, char ja muita.
Taulukon koon määrittäminen hakasulkeissa ([]) on pakollista. Tarkastellaan esimerkkiä, jossa luodaan int-tyyppinen taulukko, jonka koko on 5:
Main.java
12345678910package 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 konsolitulostuksessa jotakin uutta — taulukon ominaisuutta.
Taulukoilla on omia ominaisuuksia, joihin päästään käsiksi piste (.) -merkinnällä. Esimerkissämme intArray-taulukko käyttää yhtä näistä ominaisuuksista. .length-ominaisuus palauttaa taulukon koon int-arvona. Tämä voidaan kirjoittaa myös eri tavalla:
Main.java
123456789101112package 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ä menetelmää ja ominaisuutta taulukoiden käsittelyyn:
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
1234567891011121314151617package 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 merkkijonomuotoon. 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, eli 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äen indeksejä:
Main.java
12345678910111213141516package 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äärittelemällä jokaisen alkion indeksillä. Tämä tapa ei kuitenkaan ole kovin elegantti ja vaatii paljon rivejä koodia. Tarkastellaan vaihtoehtoista tapaa määritellä taulukko, joka on esitäytetty:
Main.java
12345678910package 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]); } }
Loimme 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 suljettuina aaltosulkeisiin ({}) ja erotettuina pilkuilla.
1. Mitä tulostuu, kun tämä koodi suoritetaan?
2. Mitä tulostuu, kun tämä koodi suoritetaan?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 2.7
Mikä on taulukko?
Pyyhkäise näyttääksesi valikon
Taulukot
Tietojen tallentaminen ainoastaan 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
1dataType[] arrayName = new dataType[capacity];
Voimme käyttää mitä tahansa tietotyyppiä taulukon määrittelyssä, kuten int, float, char ja muita.
Taulukon koon määrittäminen hakasulkeissa ([]) on pakollista. Tarkastellaan esimerkkiä, jossa luodaan int-tyyppinen taulukko, jonka koko on 5:
Main.java
12345678910package 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 konsolitulostuksessa jotakin uutta — taulukon ominaisuutta.
Taulukoilla on omia ominaisuuksia, joihin päästään käsiksi piste (.) -merkinnällä. Esimerkissämme intArray-taulukko käyttää yhtä näistä ominaisuuksista. .length-ominaisuus palauttaa taulukon koon int-arvona. Tämä voidaan kirjoittaa myös eri tavalla:
Main.java
123456789101112package 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ä menetelmää ja ominaisuutta taulukoiden käsittelyyn:
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
1234567891011121314151617package 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 merkkijonomuotoon. 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, eli 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äen indeksejä:
Main.java
12345678910111213141516package 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äärittelemällä jokaisen alkion indeksillä. Tämä tapa ei kuitenkaan ole kovin elegantti ja vaatii paljon rivejä koodia. Tarkastellaan vaihtoehtoista tapaa määritellä taulukko, joka on esitäytetty:
Main.java
12345678910package 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]); } }
Loimme 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 suljettuina aaltosulkeisiin ({}) ja erotettuina pilkuilla.
1. Mitä tulostuu, kun tämä koodi suoritetaan?
2. Mitä tulostuu, kun tämä koodi suoritetaan?
Kiitos palautteestasi!