Tableaux Java
Les tableaux sont l'une des structures de données importantes pour tout langage de programmation. Bien sûr, chaque langage a ses propres implémentations et sa propre gestion des tableaux.
Les tableaux fournis dans le langage Java servent à stocker des éléments de taille fixe du même type.
Vous pouvez déclarer une variable de tableau, telle que numbers
Ce tutoriel présentera la déclaration, la création et l'initialisation des tableaux Java, et fournira le code correspondant.
Déclaration de variables de tableau
Tout d'abord, vous devez déclarer une variable de tableau avant de pouvoir utiliser un tableau dans un programme. Voici la syntaxe pour déclarer une variable de tableau :
Remarque :Il est recommandé d'utiliserdataType[] arrayRefVarle style de déclaration pour déclarer des variables de tableau. Le style dataType arrayRefVar[] vient du langage C/C++. Il est adopté en Java afin que les programmeurs C/C++ puissent rapidement comprendre le langage Java.
Exemple
Voici des exemples de code pour ces deux syntaxes :
Création d'un tableau
Le langage Java utilise l'opérateur new pour créer des tableaux. La syntaxe est la suivante :
arrayRefVar = new dataType[arraySize];
L'instruction de syntaxe ci-dessus fait deux choses :
- Premièrement, elle crée un tableau en utilisant dataType[arraySize].
- Deuxièmement, elle affecte la référence du tableau nouvellement créé à la variable arrayRefVar.
La déclaration d'une variable de tableau et la création d'un tableau peuvent être effectuées en une seule instruction, comme indiqué ci-dessous :
dataType[] arrayRefVar = new dataType[arraySize];
De plus, vous pouvez également créer un tableau de la manière suivante.
dataType[] arrayRefVar = {value0, value1, ..., valuek};
Les éléments d'un tableau sont accessibles par index. Les indices de tableau commencent à 0, donc les valeurs d'indice vont de 0 à arrayRefVar.length-1.
Exemple
L'instruction suivante déclare d'abord une variable de tableau myList, puis crée un tableau contenant 10 éléments de type double, et affecte sa référence à la variable myList.
Code du fichier TestArray.java :
La sortie de l'exemple ci-dessus est :
总和为: 11367.373
L'image suivante illustre le tableau myList. Ici, le tableau myList a 10 éléments double, et ses indices vont de 0 à 9.

Traitement des tableaux
Le type des éléments et la taille d'un tableau sont fixes, donc lors du traitement des éléments d'un tableau, on utilise généralement une boucle de base ou une boucle For-Each.
Exemple
Cet exemple démontre pleinement comment créer, initialiser et manipuler des tableaux :
Code du fichier TestArray.java :
Le résultat de compilation et d'exécution de l'exemple ci-dessus est le suivant :
1.9 2.9 3.4 3.5 Total is 11.7 Max is 3.5
Boucle For-Each
JDK 1.5 a introduit un nouveau type de boucle, appelé boucle For-Each ou boucle améliorée, qui peut parcourir des tableaux sans utiliser d'indices.
Le format de la syntaxe est le suivant :
for(type element: array)
{
System.out.println(element);
}
Exemple
Cet exemple est utilisé pour afficher tous les éléments du tableau myList :
Code du fichier TestArray.java :
Le résultat de compilation et d'exécution de l'exemple ci-dessus est le suivant :
1.9 2.9 3.4 3.5
Tableaux comme paramètres de fonction
Les tableaux peuvent être passés comme paramètres aux méthodes.
Par exemple, l'exemple suivant est une méthode qui affiche les éléments d'un tableau d'int :
L'exemple suivant appelle la méthode printArray pour afficher 3, 1, 2, 6, 4 et 2 :
Tableaux comme valeurs de retour de fonctions
Dans l'exemple ci-dessus, le tableau résultat est utilisé comme valeur de retour de la fonction.
Tableaux multidimensionnels
Les tableaux multidimensionnels peuvent être vus comme des tableaux de tableaux. Par exemple, un tableau à deux dimensions est un tableau à une dimension particulier où chaque élément est un tableau à une dimension, par exemple :
Initialisation dynamique de tableaux multidimensionnels (en utilisant un tableau à deux dimensions comme exemple)
1. Allouer directement de l'espace pour chaque dimension, le format est le suivant :
Le type peut être un type de données de base ou un type de données composite. typeLength1 et typeLength2 doivent être des entiers positifs. typeLength1 correspond au nombre de lignes, et typeLength2 au nombre de colonnes.
Par exemple :
Analyse :
Le tableau à deux dimensions a peut être vu comme un tableau à deux lignes et trois colonnes.
2. En partant de la dimension la plus élevée, allouez de l'espace pour chaque dimension séparément, par exemple :
Analyse :
s[0]=new String[2]ets[1]=new String[3]Il alloue un espace de référence pour la dimension la plus élevée, c'est-à-dire qu'il limite la longueur maximale des données que la dimension la plus élevée peut stocker, puis alloue de l'espace séparément pour chacun de ses éléments de tableau.s0=new String("Good")et d'autres opérations.
Référencement des tableaux multidimensionnels (en utilisant un tableau à deux dimensions comme exemple)
Pour chaque élément d'un tableau à deux dimensions, la méthode de référencement estarrayName[index1][index2], par exemple :
Classe Arrays
La classe java.util.Arrays permet d'effectuer commodément des opérations sur les tableaux. Toutes les méthodes qu'elle fournit sont statiques.
Elle possède les fonctions suivantes :
- Attribuer des valeurs au tableau : à l'aide de la méthode fill.
- Trier le tableau : à l'aide de la méthode sort, par ordre croissant.
- Comparer des tableaux : utilisez la méthode equals pour comparer si les valeurs des éléments dans les tableaux sont égales.
- Rechercher des éléments dans un tableau : la méthode binarySearch peut effectuer une recherche binaire sur un tableau trié.
Pour des instructions détaillées, veuillez consulter le tableau suivant :
| Non. | Méthode et description |
|---|---|
| 1 |
public static int binarySearch(Object[] a, Object key) Recherche un objet ayant une valeur donnée dans un tableau donné à l'aide de l'algorithme de recherche binaire (Byte, Int, double, etc.). Le tableau doit être trié avant l'appel. Si la valeur recherchée est contenue dans le tableau, l'indice de la clé de recherche est renvoyé ; sinon, il renvoie (-(point d'insertion) - 1). |
| 2 |
public static boolean equals(long[] a, long[] a2) Si deux tableaux de type long spécifiés sontégaux, il renvoie true. Si les deux tableaux contiennent le même nombre d'éléments et que toutes les paires d'éléments correspondantes dans les deux tableaux sont égales, alors les deux tableaux sont considérés comme égaux. En d'autres termes, si les deux tableaux contiennent les mêmes éléments dans le même ordre, alors les deux tableaux sont égaux. La même méthode s'applique à tous les autres types de données de base (Byte, short, Int, etc.). |
| 3 |
public static void fill(int[] a, int val) Affecte la valeur int spécifiée à chaque élément dans la plage spécifiée du tableau int spécifié. La même méthode s'applique à tous les autres types de données de base (Byte, short, Int, etc.). |
| 4 |
public static void sort(Object[] a) Trie le tableau d'objets spécifié par ordre croissant selon l'ordre naturel de ses éléments. La même méthode s'applique à tous les autres types de données de base (Byte, short, Int, etc.). |
Autres extensionsExercices
Quiz sur les tableaux Java