Taulukot sisään Java

⚡ Älykäs yhteenveto

Taulukot sisään Java ovat kiinteän kokoisia, indeksipohjaisia ​​säilöjä, jotka tallentavat yhden tietotyypin elementtejä yhtenäiseen muistiin. Ne tarjoavat vakioaikaisen käytön, sisäänrakennetun rajojen tarkistuksen ja pituuskentän, jotka tekevät niistä perustan useimmille standardikirjastokokoelmille.

  • 📦 Kiinteä koko: Taulukko sisältää tietyn määrän yhden tyypin elementtejä.
  • 🔢 Nollapohjainen indeksi: Elementtien pituus alkaa nollasta ja päättyy miinus yhteen.
  • 🧩 Kaksi tyyppiä: Java sisältää yksiulotteisia ja moniulotteisia taulukoita.
  • 🛠️ Kolme vaihetta: Jokainen taulukko deklaroidaan ja konstruoidaan käyttämällä newja alustettu.
  • 🛡️ Rajojen tarkistus: JVM heittää ArrayIndexOutOfBoundsException viimeisen paikan ohi.
  • ↩️ Viittauksena: Metodin sisällä tehdyt elementtimuutokset pysyvät kutsujalla.
  • 📏 Pituuskenttä: Jokainen taulukko paljastaa length turvallista iterointia varten.

Taulukot sisään Java

Mikä on Java Array?

A Java ryhmä on kiinteän kokoinen rakenne, joka tallentaa yhden tietotyypin elementtejä yhtenäiseen muistiin. Jokainen elementti saavutetaan nollapohjaisella indeksillä, joten ensimmäinen sijaitsee kohdassa 0 ja viimeinen klo length - 1Taulukot periytyvät Object ja toteuttaa Serializable ja Cloneable, ja ne voivat sisältää primitiivi- tai olioviittauksia.

Taulukot korvaavat pitkiä numeroitujen muuttujien sarjoja. Tarkastellaan kuutta riippumatonta kokonaislukua:

x0 = 0;
x1 = 1;
x2 = 2;
x3 = 3;
x4 = 4;
x5 = 5;

Samat kuusi arvoa sijaitsevat yhdessä kuuden pituisessa taulukossa:

x[0] = 0;
x[1] = 1;
x[2] = 2;
x[3] = 3;
x[4] = 4;
x[5] = 5;

A silmukka muuttuja voi ohjata suluissa olevaa indeksiä, joten kolme riviä käsittelee jokaisen elementin kuuden kopion sijaan:

for (int count = 0; count < 5; count++) {
    System.out.println(x[count]);
}

Array-tyypit Java

Java Taulukot ovat kahdenlaisia:

  1. Yksiulotteinen taulukko: tasainen luettelo elementeistä.
  2. Moniulotteinen taulukko: taulukoiden taulukko, jota käytetään ruudukoissa ja matriiseissa.

Taulukkomuuttujat: Määrittele, muodosta ja alusta

Taulukon käyttö on kolmivaiheinen prosessi: julistaa, rakentaa newja sitten alusta.

1) Määrittele taulukko

Syntaksi:

<elementType>[] <arrayName>;

or (vanhempi C-tyylinen muoto, edelleen voimassa):

<elementType> <arrayName>[];

Esimerkiksi:

int[] intArray;   // canonical form: brackets on the type
int intArray2[];  // legacy C-style form, discouraged in new code

2) Muodosta taulukko

Syntaksi:

arrayName = new dataType[size];

Esimerkiksi:

intArray = new int[10]; // defines that intArray will store 10 integer values

Vakuutus ja rakenne yhdistettynä:

int[] intArray = new int[10];

3) Alusta taulukko

intArray[0] = 1; // assigns 1 to the first element (index 0)
intArray[1] = 2; // assigns 2 to the second element (index 1)

Ilmoita ja alusta yhdessä vaiheessa käyttämällä taulukkoliteraalia:

int[] intArray = {1, 2, 3, 4};
// initialises an integer array of length 4 where the first element is 1,
// the second element is 2, and so on.

Ensimmäinen taulukko-ohjelma Java

Vaihe 1) Kopioi seuraava koodi editoriin:

class ArrayDemo {
    public static void main(String args[]) {
        int array[] = new int[7];

        for (int count = 0; count < 7; count++) {
            array[count] = count + 1;
        }

        for (int count = 0; count < 7; count++) {
            System.out.println("array[" + count + "] = " + array[count]);
        }

        // System.out.println("Length of Array  =  " + array.length);
        // array[8] = 10;
    }
}

Vaihe 2) Tallenna, käännä ja suorita koodi. Tarkkaile tulostetta.

Odotettu tuotos:

array[0] = 1
array[1] = 2
array[2] = 3
array[3] = 4
array[4] = 5
array[5] = 6
array[6] = 7

Vaihe 3) If x on taulukkoviittaus, x.length palauttaa korttipaikkojen lukumäärän. Poista ensimmäisen kommentoidun rivin kommentti ja suorita uudelleen:

Length of Array  =  7

Vaihe 4) Toisin kuin C, Java rajat-tarkistaa jokaisen taulukkoon pääsyn. Poista toisen kommentoidun rivin kommentti ja suorita uudelleen:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
        at ArrayDemo.main(ArrayDemo.java:11)
Command exited with non-zero status 1

Vaihe 5) JVM heittää ArrayIndexOutOfBoundsExceptionC-kielellä sama käyttö palauttaisi roskaa viereisestä muistista epäonnistumisen sijaan.

Java Taulukko: Ohita viitteen mukaan

Taulukot välitetään metodeille viittauksen perusteella. Metodi saa kopion viittauksesta, joten metodin sisällä tehdyt elementtimuutokset näkyvät kutsujalle.

Esimerkki: taulukot välitetään viitteenä.

Vaihe 1) Kopioi seuraava koodi editoriin:

class ArrayDemo {
    public static void passByReference(String a[]) {
        a[0] = "Changed";
    }

    public static void main(String args[]) {
        String[] b = {"Apple", "Mango", "Orange"};
        System.out.println("Before Function Call    " + b[0]);
        ArrayDemo.passByReference(b);
        System.out.println("After Function Call    " + b[0]);
    }
}

Vaihe 2) Tallenna, käännä ja suorita koodi. Tarkkaile tulostetta.

Odotettu tuotos:

Before Function Call    Apple
After Function Call    Changed

Moniulotteiset taulukot Java

Moniulotteiset taulukot ovat taulukoiden taulukoita. Lisää toinen hakasulkeiden sarja jokaista ulottuvuutta kohden. 2D-kokonaislukuruudukon luominen, jossa on neljä riviä ja viisi saraketta:

int[][] twoD = new int[4][5];

Sinun tarvitsee mitoittaa vain ensimmäinen (vasemmanpuoleisin) ulottuvuus edessä. Loput ulottuvuudet voidaan kohdistaa erikseen, ja jokaisella rivillä voi olla oma pituus, jolloin Java 2-D-taulukot ovat tosia rosoiset taulukot.

Esimerkiksi:

public class Guru99 {
    public static void main(String[] args) {
        // Create a 2-dimensional array with 4 rows and 4 columns.
        int[][] twoD = new int[4][4];

        // Assign three elements to it.
        twoD[0][0] = 1;
        twoD[1][1] = 2;
        twoD[3][2] = 3;

        System.out.print(twoD[0][0] + " ");
    }
}

Odotettu tuotos:

1

UKK

A Java taulukko on kiinteän kokoinen säilö, joka tallentaa yhden tietotyypin elementtejä. Jokaiseen elementtiin päästään käsiksi nollapohjaisella indeksillä, ja jokainen taulukko näyttää pituuskentän, jossa on paikkojen lukumäärä.

Määrittele int[] arr -funktiolla, muodosta uw int[size] -funktiolla ja aseta sitten arvo indeksin perusteella. Jos haluat tehdä kaikki kolme samalla rivillä, käytä literaalia, kuten int[] arr = {1, 2, 3, 4}.

Java tukee yksiulotteisia ja moniulotteisia taulukoita. Yksiulotteinen taulukko on suora lista ja moniulotteinen taulukko on taulukoista koostuva taulukko, jota käytetään taulukoissa, ruudukoissa ja matriiseissa.

Käytä length-kenttää, esimerkiksi arr.length. Se palauttaa paikkojen määrän ja toimii minkä tahansa tyyppisille taulukoille. Toisin kuin String, taulukot näyttävät length-kentän, eivät metodikutsua.

JVM tarkistaa jokaisen taulukkoon pääsyn rajat. Nollaa pienemmän tai nollaa suuremman indeksin lukeminen tai kirjoittaminen aiheuttaa ArrayIndexOutOfBoundsException-poikkeuksen, estäen C:tä vaivaavat muistin vioittumisongelmat. C++.

Java välittää argumentit arvon mukaan, mutta taulukoiden tapauksessa kyseinen arvo on kopio viittauksesta. Metodi käsittelee samaa pohjana olevaa taulukkoa, joten metodin sisällä tapahtuneet alkioiden muutokset näkyvät kutsujalle.

Koneoppimisen koodin avustajat tunnistavat declare-construct-initialise-kuvion ja suorittavat literaaleja tai silmukoita. Ne myös merkitsevät yleisiä off-by-one-virheitä, jotka aiheuttavat ArrayIndexOutOfBoundsException-poikkeuksen suorituksen aikana.

Kyllä. GitHub Copilot luo selkokielisestä kommentista taulukkomäärittelyjä, silmukoita, Arrays.sort-kutsuja ja 2D-matriisikävelyjä. RevTarkastele luotuja rajoja ennen niiden suorittamista tuotantodataa vasten.

Tiivistä tämä viesti seuraavasti: