Apprendre Java pour le développement Android Travailler avec des tableaux

Cette petite leçon vous montre comment utiliser les tableaux en Java. Cette leçon fait partie d'une série de didacticiels en cours destinés aux développeurs apprenant Java afin de développer des applications Android..

Qu'est-ce qu'un tableau??

Un tableau est une structure de données commune utilisée pour stocker une liste ordonnée d'éléments. Les éléments du tableau sont typés. Par exemple, vous pouvez créer un tableau de caractères pour représenter les voyelles dans l'alphabet:

char aVowels [] = 'a', 'e', ​​'i', 'o', 'u'; 

Tout comme C ou C ++, les tableaux Java sont indexés numériquement sur un système basé sur 0. Cela signifie que le premier élément du tableau (c’est-à-dire que «a») est à l’indice 0, le deuxième («e») est à l’indice 1, et ainsi de suite..

Java rend le travail avec des tableaux plus facile que beaucoup d'autres langages de programmation. Le tableau lui-même est un objet (de type tableau), avec tous ses avantages. Par exemple, vous pouvez toujours vérifier la taille d'un tableau en utilisant sa propriété length:

int long = aVowels.length; 

Que puis-je stocker dans un tableau?

Vous pouvez stocker n'importe quel type d'objet ou primitif dans un tableau. Par exemple, vous pouvez stocker des entiers dans un tableau:

int aNums [] = 2, 4, 6; 

Ou, vous pouvez stocker des types non primitifs tels que Strings (ou toute autre classe) dans un tableau:

String aStooges [] = "Larry", "Moe", "Frisé"; 

Parfois, vous souhaiterez peut-être stocker des objets de types différents dans un tableau. Vous pouvez toujours tirer parti de l'héritage et utiliser une classe parente pour le type de tableau. Par exemple, la classe Object est la mère de toutes les classes… vous pouvez donc stocker différents types dans un seul tableau, comme ceci:

float one = 1.0f; Entier deux = nouvel Entier (2); Chaîne trois = "trois"; Object aObjects [] = un, deux, trois; 

Les éléments d'un tableau d'objets Java sont des références (ou des handles) aux objets, et non des instances réelles d'objets. Une valeur d'élément est nulle jusqu'à ce qu'une instance valide d'un objet lui soit affectée (le tableau est initialisé automatiquement mais vous êtes responsable de l'attribution de ses valeurs)..

Déclarer des tableaux

Il existe plusieurs façons de déclarer un tableau en Java. Comme vous l'avez vu, vous pouvez déclarer un tableau et fournir immédiatement ses éléments à l'aide de la syntaxe entre crochets ondulés de style C. Par exemple, le code Java suivant déclare un tableau d'entiers de longueur 3 et initialise le tableau sur une seule ligne:

int aNums [] = 2, 4, 6; 

Vous pouvez également déclarer un tableau d'une taille spécifique, puis attribuer la valeur de chaque élément individuellement, comme suit:

double aPowersOfTwo [] = new double [5]; aPowersOfTwo [0] = Math.pow (2,0); aPowersOfTwo [1] = Math.pow (2,1); aPowersOfTwo [2] = Math.pow (2,2); aPowersOfTwo [3] = Math.pow (2,3); aPowersOfTwo [4] = Math.pow (2,4); 

Cela équivaut à créer un tableau comme celui-ci:

double aPowersOfTwoExplicit [] = 1.0d, 2.0d, 4.0d, 8.0d, 16.0d; 

Il existe plusieurs autres moyens de créer des tableaux. Par exemple, vous pouvez créer la variable de tableau et l'affecter séparément à l'aide du nouveau mot-clé. Vous pouvez également mettre les crochets de tableau avant le nom de la variable, si vous le souhaitez (il s'agit d'un problème de style). Par exemple, le code Java suivant définit un tableau d'éléments String, puis les affecte individuellement:

String [] aStopLightColors; aStopLightColors = new String [3]; aStopLightColors [0] = new String ("rouge"); aStopLightColors [1] = new String ("jaune"); aStopLightColors [2] = new String ("vert"); 

Modification du contenu de la matrice

Comme vous l'avez vu, vous pouvez affecter des valeurs de tableau à l'aide de la syntaxe entre crochets:

Vous pouvez également récupérer des valeurs de tableau par index. Par exemple, vous pouvez accéder au deuxième élément du tableau appelé aStopLightColors (défini dans la section précédente) comme suit:

String strCurrentLightColor = aStopLightColors [1]; 

Itérations des tableaux

Enfin, les tableaux sont souvent utilisés comme une liste ordonnée d'objets. Par conséquent, vous pouvez trouver que vous souhaitez parcourir le tableau dans l’ordre, en accédant à chaque élément de manière méthodique..

Il y a plusieurs façons de faire cela en Java. Comme vous pouvez toujours vérifier la taille d'un tableau par programmation, vous pouvez utiliser n'importe laquelle des méthodes de boucle for ou while habituelles. Par exemple, le code Java suivant déclare un tableau entier simple de trois nombres et utilise une simple boucle for pour parcourir les éléments:

int aNums [] = 2, 4, 6; pour (int i = 0; i < aNums.length; i++)  String strToPrint = "aNums[" + i + "]=" + aNums[i];  

Java fournit également une boucle très pratique pour chaque boucle permettant de parcourir les tableaux de manière conviviale. La boucle for-each aide à éviter les erreurs de programmation idiotes si courantes dans les boucles (erreurs off-by-one, etc.). Pour utiliser la syntaxe de boucle for-each, vous devez définir votre variable de boucle, puis placer un signe deux-points, puis spécifier le nom de votre tableau. Par exemple, le code suivant fournit la structure de boucle similaire à celle de la précédente boucle for présentée ci-dessus:

for (int num: aNums) String strToPrint = num;  

Comme vous pouvez le constater, la boucle for-each est lisse. Cependant, vous ne connaissez plus l'index lors de l'itération. Ainsi, il ne peut pas être utilisé dans toutes les situations.

Conclusion

Dans cette rapide leçon, vous avez appris à propos des tableaux en Java. Les tableaux sont une structure de données fondamentale utilisée pour la programmation Java qui stocke un nombre ordonné d'objets d'un type donné de manière organisée. En Java, les tableaux sont des objets eux-mêmes et stockent des références aux objets, ce qui rend l’affectation et l’utilisation plus faciles (mais légèrement différentes) de la manière dont les tableaux sont utilisés dans d’autres langages de programmation.

à propos des auteurs

Les développeurs mobiles Lauren Darcey et Shane Conder ont co-écrit plusieurs livres sur le développement Android: un livre de programmation en profondeur intitulé Développement d'applications sans fil Android et Sams TeachYourself Développement d'applications Android en 24 heures. Lorsqu'ils n'écrivent pas, ils passent leur temps à développer des logiciels mobiles dans leur entreprise et à fournir des services de conseil. Vous pouvez les contacter par courrier électronique à l'adresse [email protected], via leur blog à l'adresse androidbook.blogspot.com et sur Twitter @androidwireless..