Vous êtes ici :
Accueil Cours Programmations La Programmation Orientée Objet en Java Les tableaux

La Programmation Orientée Objet en Java : Les tableaux

Java fournit une structure de données, le tableau, qui stocke une collection séquentielle de taille fixe d'éléments du même type. Un tableau est utilisé pour stocker une collection de données, mais il est souvent plus utile de penser à un tableau comme une collection de variables du même type.

Au lieu de déclarer des variables individuelles, telles que number0, number1, ... et number99, vous déclarez une variable de tableau telle que des nombres et utilisez des nombres[0], nombres[1] et ..., nombres[99] pour représenter les variables individuelles.

Cette partie présente comment déclarer un tableau, créer des tableaux et les parcourir plus facilement à l'aide de variables indexées (boucle).

Déclaration d’un tableau

Pour utiliser un tableau dans un programme, vous devez déclarer une variable pour référencer le tableau et vous devez spécifier le type de tableau auquel la variable peut se référer. Voici la syntaxe pour déclarer un tableau:

dataType[] arrayRefVar;   //preferred way.

ou

dataType arrayRefVar[];  //works but not preferred way.

Exemple:

Les extraits de code suivants sont des exemples de cette syntaxe:

 double[] myList;         //preferred way.

  ou

double myList[];         //works but not preferred way.

Création de tableaux

Vous pouvez créer un tableau en utilisant l’opérateur new avec la syntaxe suivante:

arrayRefVar = new dataType[TAILLE];

La déclaration ci-dessus fait deux choses:

  • Il crée un tableau en utilisant new dataType [TAILLE];
  • Il assigne la référence nouvellement créée à la variable arrayRefVar.

La déclaration d'un tableau, la création d'un tableau et l'attribution de la référence du tableau à la variable peuvent être combinés dans une instruction, comme indiqué ci-dessous:

dataType[] arrayRefVar = new dataType[TAILLE];

Vous pouvez également créer des tableaux comme suit:

dataType[] arrayRefVar = {value0, value1, ..., valuek};

Les éléments du tableau sont accessibles via leur index. Les indices de tableau sont basés sur 0; C'est-à-dire qu'ils commencent de 0 à TAILLE - 1.

Exemple:

La déclaration suivante déclare un tableau, myList, crée un tableau de 10 éléments de type double et attribue sa référence à myList :

double[] myList = new double[10];

L’image suivante représente le tableau myList. Ici, myList contient dix valeurs doubles et les indices vont de 0 à 9.

Traitement des tableaux

Lors du traitement des éléments du tableau, nous utilisons souvent soit une boucle for ou une boucle foreach car tous les éléments d'un tableau sont du même type et la taille du tableau est connue.

Exemple:

Voici un exemple complet de la façon de créer, d'initialiser et de traiter des tableaux:

public class TestArray {
   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};
      //Affiche tous les éléments du tableau
      for(int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
      //Somme de tous les éléments
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }

      System.out.println("Total is " + total);
      //Trouver le plus grand élément
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max){
  max = myList[i];
          }
      }
      System.out.println("Max is " + max);
   }
}

Cela produirait le résultat suivant:

1.9

2.9

3.4

3.5

Total is 11.7

Max is 3.5

La boucle foreach

JDK 1.5 a introduit une nouvelle boucle for connue sous le nom de boucle foreach ou améliorée, ce qui vous permet de parcourir le tableau complet séquentiellement sans utiliser une variable d'index.

Exemple:

Le code suivant affiche tous les éléments du tableau myList :

public class TestArray {
   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};
      //Affiche tous les éléments du tableau
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

Cela produirait le résultat suivant:

1.9

2.9

3.4

3.5

Passer les tableaux en paramètres d’une méthode

Tout comme vous pouvez passer des valeurs de type primitif aux méthodes, vous pouvez également passer des tableaux en paramètres des méthodes. Par exemple, la méthode suivante affiche les éléments dans un tableau d'entier :

public class TestArray {
   public static void printArray(int[] arr){
      //Affiche tous les éléments du tableau
      for(int element: arr) {
         System.out.println(element);
      }
   }
}

Vous pouvez invoquer cette méthode en passant un tableau d’entier en paramètre. Par exemple, la déclaration suivante appelle la méthode printArray pour afficher 3, 1, 2, 6, 4 et 2:

printArray(new int[]{3, 1, 2, 6, 4, 2});

Retourner un tableau dans une méthode

Une méthode peut également renvoyer un tableau. Par exemple, la méthode ci-dessous renvoie un tableau qui est l'inverse d'un autre tableau:

public static int[] reverse(int[] list) {
  int[] result = new int[list.length];
  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

 La classe Arrays

La classe java.util.Arrays contient diverses méthodes statiques pour trier et rechercher dans des tableaux, comparer des tableaux et remplir des éléments d’un tableau. Ces méthodes sont surchargées pour tous les types primitifs.

SN

Méthodes avec description

1

public static int binarySearch(Object[] a, Object key)
Recherche le tableau d'objet spécifié (byte, int , double, etc.) pour la valeur spécifiée à l'aide de l'algorithme de recherche binaire. Le tableau doit être trié avant d'effectuer cet appel. Cela renvoie l'index de la clé de recherche, si elle est contenue dans la liste; Sinon, (- (point d'insertion + 1).

2

public static boolean equals(long[] a, long[] a2)
Renvoie true si les deux tableaux de type longs spécifiés sont égaux les uns aux autres. Deux tableaux sont considérés comme égaux si les deux tableaux contiennent le même nombre d'éléments et toutes les paires d'éléments correspondantes dans les deux tableaux sont égales. Cela retourne true si les deux tableaux sont égaux. La même méthode pourrait être utilisée par tous les autres types de données primitifs (byte, short, int , etc.)

3

public static void fill(int[] a, int val)
Affecte la valeur int spécifiée à chaque élément du tableau d’entier spécifié. La même méthode pourrait être utilisée par tous les autres types de données primitives (byte, short, int etc.)

4

public static void sort(Object[] a)
Trie le tableau d'objets spécifié dans l'ordre croissant, selon l'ordre naturel de ses éléments. La même méthode pourrait être utilisée par tous les autres types de données primitifs (byte, short, int etc.)

 




Vous êtes ici :
Accueil Cours Programmations La Programmation Orientée Objet en Java Les tableaux