Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Java - 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 considérer un tableau comme une collection de variables du même type.

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

Ce didacticiel explique comment déclarer des variables de tableau, créer des tableaux et traiter des tableaux à l'aide de variables indexées.

Déclarer des variables de 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 faire référence. Voici la syntaxe pour déclarer une variable tableau −

Syntaxe

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

Remarque − Le style dataType[] arrayRefVar est préféré. Le style dataType arrayRefVar[] vient du C/C++ et a été adopté en Java pour prendre en charge C/C++; programmeurs.

Exemple

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

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

Créer des tableaux

Vous pouvez créer un tableau en utilisant le nouvel opérateur avec la syntaxe suivante −

Syntaxe

arrayRefVar = new dataType[arraySize];

La déclaration ci-dessus fait deux choses −

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

dataType[] arrayRefVar = new dataType[arraySize];

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

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

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

Exemple

L'instruction suivante déclare une variable tableau, myList, crée un tableau de 10 éléments de type double et affecte 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 de tableau, nous utilisons souvent soit pour boucle ou foreach boucle 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 montrant comment créer, initialiser et traiter des tableaux −

Démo en direct
public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
     
      // Summing all elements
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      
      // Finding the largest element
      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 produira le résultat suivant −

Sortie

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

Les boucles foreach

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

Exemple

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

Démo en direct
public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

Cela produira le résultat suivant −

Sortie

1.9
2.9
3.4
3.5

Passer des tableaux aux méthodes

Tout comme vous pouvez transmettre des valeurs de type primitif à des méthodes, vous pouvez également transmettre des tableaux à des méthodes. Par exemple, la méthode suivante affiche les éléments dans un int tableau −

Exemple

public static void printArray(int[] array) {
   for (int i = 0; i < array.length; i++) {
      System.out.print(array[i] + " ");
   }
}

Vous pouvez l'invoquer en passant un tableau. Par exemple, l'instruction suivante appelle la méthode printArray pour afficher 3, 1, 2, 6, 4 et 2 −

Exemple

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

Renvoyer un tableau à partir d'une méthode

Une méthode peut aussi retourner un tableau. Par exemple, la méthode suivante renvoie un tableau qui est l'inverse d'un autre tableau −

Exemple

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 des tableaux

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

public static int binarySearch(Object[] a, Object key)

Recherche dans le tableau spécifié d'Object ( Byte, Int , double, etc.) la valeur spécifiée à l'aide de l'algorithme de recherche binaire. Le tableau doit être trié avant de faire cet appel. Cela renvoie l'index de la clé de recherche, si elle est contenue dans la liste ; sinon, elle renvoie ( – (point d'insertion + 1)).

booléen public statique égal à (long[] a, long[] a2)

Renvoie true si les deux tableaux spécifiés de longs sont égaux l'un à l'autre. Deux tableaux sont considérés comme égaux 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. Cela renvoie true si les deux tableaux sont égaux. La même méthode peut être utilisée par tous les autres types de données primitifs (Byte, short, Int, etc.)

remplissage vide statique public(int[] a, int val)

Attribue la valeur int spécifiée à chaque élément du tableau d'entiers spécifié. La même méthode pourrait être utilisée par tous les autres types de données primitifs (Byte, short, Int, etc.)

public static void sort(Object[] a)

Trie le tableau d'objets spécifié dans un 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.)

Sr.No. Méthode et description
1
2
3
4

Java

  1. Tableaux C#
  2. Opérateurs Java
  3. Tableaux de copie Java
  4. InterfaceJava
  5. Java essayer avec des ressources
  6. Annotations Java
  7. Tableaux en C++ | Déclarer | Initialiser | Pointeur vers des exemples de tableaux
  8. Allocation dynamique C++ de tableaux avec exemple
  9. Tutoriel Java Arrays :Déclarer, Créer, Initialiser [Exemple]