Mikä 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
1dataType[] 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
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 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
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ä 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
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 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
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ää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
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]); } }
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?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain more about how to access elements in an array using their index?
What happens if I try to access an index that is out of bounds in a Java array?
Can you show examples of using Arrays.sort, Arrays.fill, and Arrays.toString in Java?
Mahtavaa!
Completion arvosana parantunut arvoon 2.7
Mikä 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
1dataType[] 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
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 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
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ä 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
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 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
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ää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
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]); } }
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?
Kiitos palautteestasi!