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 :