Tableaux dans Java

โšก Rรฉsumรฉ intelligent

Tableaux dans Java Ce sont des conteneurs de taille fixe, basรฉs sur un index, qui stockent des รฉlรฉments d'un seul type de donnรฉes dans une mรฉmoire contiguรซ, offrant un accรจs en temps constant, une vรฉrification intรฉgrรฉe des limites et un champ de longueur qui en font la base de la plupart des collections de la bibliothรจque standard.

  • ๐Ÿ“ฆ Taille fixe : Un tableau contient un nombre dรฉfini d'รฉlรฉments d'un seul type.
  • (I.e. Indice ร  base zรฉro : Les รฉlรฉments vont de 0 ร  la longueur moins un.
  • ๐Ÿงฉ Deux types: Java possรจde des tableaux unidimensionnels et multidimensionnels.
  • ๏ธ Trois รฉtapes: Chaque tableau est dรฉclarรฉ, construit avec newet initialisรฉ.
  • ๐Ÿ›ก๏ธ Vรฉrification des limites : La JVM gรฉnรจre des erreurs ArrayIndexOutOfBoundsException passรฉ le dernier crรฉneau.
  • ๐Ÿ‡ง๐Ÿ‡ท Par rรฉfรฉrence : Les modifications apportรฉes ร  un รฉlรฉment ร  l'intรฉrieur d'une mรฉthode persistent pour l'appelant.
  • (I.e. Champ Longueur : Chaque tableau expose length pour une itรฉration sรปre.

Tableaux dans Java

Qu'est-ce qu'un Java Dรฉployer?

A Java tableau Il s'agit d'une structure de taille fixe qui stocke les รฉlรฉments d'un mรชme type de donnรฉes dans une zone mรฉmoire contiguรซ. Chaque รฉlรฉment est accessible par un index commenรงant ร  zรฉro ; le premier se trouve donc ร  l'adresse indiquรฉe. 0 et le dernier ร  length - 1Les tableaux hรฉritent de Object et mettre en ล“uvre Serializable et Cloneableet peut contenir des types primitifs ou des rรฉfรฉrences d'objets.

Les tableaux remplacent les longues suites de variables numรฉrotรฉes. Prenons l'exemple de six entiers indรฉpendants :

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

Les six mรชmes valeurs sont contenues dans un seul tableau de longueur six :

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

A boucle La variable peut piloter l'index entre parenthรจses, ce qui permet de traiter chaque รฉlรฉment en trois lignes au lieu de six :

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

Types de tableau dans Java

Java Les tableaux se prรฉsentent sous deux formes :

  1. Tableau unidimensionnel : une liste plate d'รฉlรฉments.
  2. Tableau multidimensionnel : un tableau de tableaux, utilisรฉ pour les grilles et les matrices.

Variables de type tableau : dรฉclaration, construction et initialisation

L'utilisation d'un tableau est une Procรฉdรฉ en trois รฉtapes: dรฉclarer, construire avec new, puis initialiser.

1) Dรฉclarer le tableau

syntaxe:

<elementType>[] <arrayName>;

or (l'ancienne forme de style C, toujours valable) :

<elementType> <arrayName>[];

Exemple :

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

2) Construire le tableau

syntaxe:

arrayName = new dataType[size];

Exemple :

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

Dรฉclaration et construction combinรฉes :

int[] intArray = new int[10];

3) Initialiser le tableau

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

Dรฉclarer et initialiser en une seule รฉtape en utilisant un littรฉral de tableau :

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.

Premier programme de tableau dans Java

ร‰tape 1) Copiez le code suivant dans un รฉditeur :

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;
    }
}

ร‰tape 2) Enregistrez, compilez et exรฉcutez le code. Observez le rรฉsultat.

Production attendue:

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

ร‰tape 3) If x est une rรฉfรฉrence de tableau, x.length renvoie le nombre d'emplacements. Dรฉcommentez la premiรจre ligne commentรฉe et relancez :

Length of Array  =  7

ร‰tape 4) Contrairement ร  C, Java Effectue une vรฉrification des limites ร  chaque accรจs au tableau. Dรฉcommentez la deuxiรจme ligne commentรฉe et relancez le programme :

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

ร‰tape 5) La JVM gรฉnรจre des erreurs ArrayIndexOutOfBoundsExceptionEn C, le mรชme accรจs renverrait des donnรฉes erronรฉes provenant de la mรฉmoire adjacente au lieu de provoquer une erreur.

Java Tableau : Passage par rรฉfรฉrence

Les tableaux sont passรฉs aux mรฉthodes par rรฉfรฉrence. La mรฉthode reรงoit une copie de la rรฉfรฉrence, de sorte que les modifications apportรฉes aux รฉlรฉments ร  l'intรฉrieur de la mรฉthode sont visibles par l'appelant.

Exemple : les tableaux sont passรฉs par rรฉfรฉrence.

ร‰tape 1) Copiez le code suivant dans un รฉditeur :

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]);
    }
}

ร‰tape 2) Enregistrez, compilez et exรฉcutez le code. Observez le rรฉsultat.

Production attendue:

Before Function Call    Apple
After Function Call    Changed

Tableaux multidimensionnels dans Java

Les tableaux multidimensionnels sont des tableaux de tableaux. Ajoutez une paire de crochets pour chaque dimension. Pour crรฉer une grille d'entiers 2D ร  quatre lignes et cinq colonnes :

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

Il suffit de dimensionner la premiรจre dimension (la plus ร  gauche) au dรฉpart. Les autres dimensions peuvent รชtre dรฉfinies sรฉparรฉment, et chaque ligne peut avoir sa propre longueur. Java Tableaux 2D vrais tableaux irrรฉguliers.

Exemple :

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] + " ");
    }
}

Production attendue:

1

FAQ

A Java Un tableau est un conteneur de taille fixe qui stocke des รฉlรฉments d'un seul type de donnรฉes. Chaque รฉlรฉment est accessible par un index commenรงant ร  zรฉro, et chaque tableau expose un champ de longueur indiquant le nombre d'emplacements.

Dรฉclarez un tableau d'entiers `arr`, construisez-le avec `new int[size]`, puis affectez-lui une valeur par index. Pour effectuer ces trois opรฉrations en une seule ligne, utilisez une expression littรฉrale comme `int[] arr = {1, 2, 3, 4}`.

Java Elle prend en charge les tableaux unidimensionnels et multidimensionnels. Un tableau unidimensionnel est une liste plate, tandis qu'un tableau multidimensionnel est un tableau de tableaux utilisรฉ pour les tables, les grilles et les matrices.

Utilisez le champ `length`, par exemple `arr.length`. Il renvoie le nombre d'รฉlรฉments et fonctionne avec tout type de tableau. Contrairement aux chaรฎnes de caractรจres, les tableaux exposent la longueur comme un champ, et non comme une mรฉthode.

La JVM vรฉrifie les limites de chaque accรจs ร  un tableau. La lecture ou l'รฉcriture d'un index infรฉrieur ร  zรฉro ou รฉgal ou supรฉrieur ร  la longueur du tableau lรจve une exception ArrayIndexOutOfBoundsException, empรชchant ainsi les bogues de corruption de mรฉmoire qui affectent le C et le langage JVM. C++.

Java Les arguments sont passรฉs par valeur, mais pour les tableaux, cette valeur est une copie de la rรฉfรฉrence. La mรฉthode agit sur le mรชme tableau sous-jacent ; par consรฉquent, les modifications apportรฉes aux รฉlรฉments ร  lโ€™intรฉrieur de la mรฉthode sont visibles par lโ€™appelant.

Les assistants de programmation pour l'apprentissage automatique reconnaissent le modรจle dรฉclaration-construction-initialisation et complรจtent les littรฉraux ou les boucles. Ils signalent รฉgalement les erreurs courantes de dรฉcalage d'un indice qui pourraient lever une exception ArrayIndexOutOfBoundsException ร  l'exรฉcution.

Oui. GitHub Copilot gรฉnรจre automatiquement les dรฉclarations de tableaux, les boucles, les appels ร  Arrays.sort et les parcours de matrices 2D ร  partir d'un commentaire en langage clair. RevConsultez les limites gรฉnรฉrรฉes avant d'exรฉcuter le test sur les donnรฉes de production.

Rรฉsumez cet article avec :