"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Introduction aux tableaux en Java

Introduction aux tableaux en Java

Publié le 2024-11-07
Parcourir:805

Introduction to Arrays in Java

La programmation implique souvent la gestion et la manipulation de grands ensembles de données, pour lesquelles des structures de données efficaces et efficientes sont cruciales. Les tableaux constituent une structure de données fondamentale en informatique et permettent de stocker une séquence d'éléments de taille fixe du même type. Dans ce blog, nous ferons un voyage approfondi à travers les tableaux en Java : comprendre ce qu'ils sont, leur syntaxe, comment les utiliser et leur gestion de la mémoire.

Pourquoi avons-nous besoin de tableaux ?

Lorsque vous travaillez avec des variables en Java, vous pouvez déclarer et initialiser chacune d'entre elles individuellement, par exemple :

java
int a = 19;
String name = "John Doe";

Cependant, cette approche devient inefficace si vous devez gérer plusieurs valeurs du même type. Par exemple, si vous deviez stocker plusieurs numéros ou noms de rôle, coder en dur chaque valeur n'est pas pratique. Les tableaux sont utiles car ils vous permettent de stocker efficacement une collection de valeurs. Par exemple, si vous devez stocker cinq numéros de rôle, vous pouvez utiliser des tableaux.

Que sont les tableaux ?

Un tableau est essentiellement une collection d'éléments de données du même type. Les tableaux peuvent stocker des types de données primitifs tels que des entiers, des flottants et des caractères, ainsi que des objets. Par exemple:

int[] rollNumbers = new int[5];
String[] names = {"Alice", "Bob", "Charlie"};

Syntaxe des tableaux

La syntaxe pour déclarer un tableau en Java est simple :

dataType[] arrayName = new dataType[size];

Par exemple, pour créer un tableau de cinq nombres entiers :

int[] rollNumbers = new int[5];

Vous pouvez également déclarer et initialiser un tableau sur une seule ligne :

int[] rollNumbers = {23, 55, 9, 18, 45};

Caractéristiques des tableaux

Éléments homogènes

Dans un tableau, tous les éléments doivent être du même type. Vous ne pouvez pas mélanger les types dans un seul tableau ; Par exemple:

int[] nums = {1, 2, "three"}; // Will cause a compile-time error

Taille fixe

Une fois un tableau créé, sa taille est fixe. Vous ne pouvez pas agrandir ou réduire sa taille. Cette contrainte peut souvent conduire à la sélection d'autres structures de données, comme ArrayList, pour des besoins de données plus dynamiques.

Gestion de la mémoire interne

Les tableaux en Java se composent de :

  • Stack Memory : Stocke la variable de référence du tableau.
  • Heap Memory : Stocke l'objet tableau réel et ses éléments.

Lorsque vous déclarez un tableau, la référence est créée dans la mémoire de pile et l'objet tableau est stocké dans la mémoire tas.

Allocation de mémoire

Il y a deux étapes critiques dans l'allocation de mémoire d'une baie :

  1. Déclaration : La variable de référence est créée, mais elle ne pointe nulle part.
  2. Initialisation : La variable de référence pointe vers l'objet tableau réel dans le tas, qui contient les éléments.

Par exemple:

int[] rollNumbers; // Declaration
rollNumbers = new int[5]; // Initialization

Allocation de mémoire dynamique

Java effectue une allocation dynamique de mémoire, ce qui signifie qu'au moment de l'exécution, il alloue de la mémoire selon les besoins, ce qui le rend efficace dans la gestion de la mémoire.

Entrée et sortie dans des tableaux

Prendre des notes

Pour remplir un tableau avec une entrée utilisateur, vous pouvez utiliser une boucle avec un scanner pour lire les entrées de la console.

Scanner scanner = new Scanner(System.in);
int[] arr = new int[5];
for (int i = 0; i 



Impression de tableaux

Vous pouvez imprimer des tableaux à l'aide de boucles ou de la méthode utilitaire Arrays.toString() pour une sortie plus lisible.

for (int i = 0; i 



ou

System.out.println(Arrays.toString(arr));

Tableaux multidimensionnels

Les tableaux bidimensionnels, ou matrices, sont des tableaux de tableaux. La syntaxe d'un tableau 2D ressemble à ceci :

int[][] matrix = new int[3][3];

Exemple

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

Pour une entrée dynamique d'éléments dans un tableau 2D, des boucles imbriquées sont utilisées.

ArrayList : une alternative dynamique

Les tableaux en Java sont de taille fixe, ce qui entraîne des inefficacités lorsque le nombre d'éléments est inconnu au moment de la compilation. Cette limitation peut être surmontée en utilisant la classe ArrayList, qui fait partie du Java Collections Framework.

Utilisation de ArrayList

La classe ArrayList permet un redimensionnement dynamique. Voici la syntaxe pour créer une ArrayList :

ArrayList numbers = new ArrayList();

Vous pouvez ajouter et manipuler des éléments de manière dynamique :

numbers.add(1);
numbers.add(2);
numbers.add(3);
System.out.println(numbers); // Output: [1, 2, 3]

numbers.set(1, 10); // Change element at index 1
System.out.println(numbers); // Output: [1, 10, 3]

numbers.remove(0); // Remove element at index 0
System.out.println(numbers); // Output: [10, 3]

boolean contains = numbers.contains(10); // Check if the list contains 10
System.out.println(contains); // Output: true

Fonctionnement interne de ArrayList

En interne, ArrayList utilise des tableaux dynamiques avec une capacité initiale fixe. Lorsque cette capacité est épuisée, un nouveau tableau avec une plus grande capacité est créé et les éléments existants sont copiés. Ce processus garantit que l'ArrayList peut croître de manière dynamique à mesure que des éléments sont ajoutés.

Opérations communes sur les tableaux

Trouver le maximum d'éléments

Pour trouver l'élément maximum dans un tableau, parcourez le tableau et gardez une trace de la valeur la plus élevée :

int max = arr[0];
for (int i = 1; i  max) {
        max = arr[i];
    }
}
System.out.println("Maximum value: "   max);

Inverser un tableau

Pour inverser un tableau, utilisez une technique à deux pointeurs :

public static void reverse(int[] arr) {
    int start = 0;
    int end = arr.length - 1;
    while (start 



Appel de la fonction inverse :

int[] arr = {1, 2, 3, 4, 5};
reverse(arr);
System.out.println(Arrays.toString(arr)); // Output: [5, 4, 3, 2, 1]

Conclusion

Les tableaux constituent une structure de données critique en Java, permettant le stockage et la manipulation efficaces d'ensembles de données. Bien que de taille fixe, les tableaux sont puissants et polyvalents lorsqu'il s'agit de types de données homogènes. Pour les besoins de données dynamiques, ArrayList offre une flexibilité supplémentaire, permettant une croissance arbitraire de la taille. Comprendre ces structures et leurs opérations jette les bases d’une programmation et d’une gestion des données plus avancées. De plus, pratiquer les opérations sur les tableaux et comprendre leur gestion de mémoire sous-jacente aide à écrire un code plus efficace et optimisé.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/bhaweshchaudhary/introduction-to-arrays-in-java-17gg?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3