introduction java arrays
Ce didacticiel présente le concept de tableaux en Java. Nous avons également introduit des sujets connexes tels que la longueur, les types de données, le clonage, la copie, le tri, etc. sous les tableaux Java:
En programmation, vous traitez toujours des données. Les données doivent être stockées dans des emplacements de mémoire et afin d'y accéder de temps en temps et de les traiter en conséquence, il faut leur donner un nom. Ceci est fait par des variables.
Ainsi, si vous souhaitez stocker la valeur 10 en mémoire, vous allez déclarer une variable de type int et stocker la valeur sous la forme int num = 10;
Supposons maintenant que les exigences de votre programme soient telles que vous ayez besoin de 10 variables de type int.
Dans ce cas, vous devrez déclarer 10 variables de type int comme suit:
int a1;
int a2;
int a3;
int a4;
int a5;
int a6;
int a7;
int a8;
int a9;
int a10;
Les déclarations ci-dessus mettront le fardeau inutile de maintenance sur le programmeur. Au lieu de déclarer autant de variables, que diriez-vous de déclarer une seule variable et d'avoir toutes ces 10 valeurs affectées à cette variable? C'est ce que nous allons faire lorsque nous définissons un tableau et lui attribuons des valeurs.
Commençons par les tableaux en Java.
Ce que vous apprendrez:
- Tableau Java
- Java Array - Création et initialisation
- Imprimer des éléments dans un tableau Java
- Longueur du tableau en Java
- Types de données Java Array
- Tableau de chaînes Java et diverses méthodes
- Tableaux multidimensionnels en Java
- Tableau d'objets Java
- Renvoyer un tableau en Java
- Classe de tableau Java
- Tableaux dans Java 8
- Questions fréquemment posées
- Conclusion
Tableau Java
Les tableaux ne sont rien d'autre qu'une structure de données utilisée pour contenir les éléments de données du même type de manière séquentielle. À partir de l'exemple ci-dessus, vous pouvez changer la définition de dix variables en une seule variable et stocker toutes les dix valeurs à l'aide d'indices.
Faisons-le de la manière ci-dessous:
A [0] = 1;
A [1] = 2;
A [2] = 3;
A [3] = 4;
A [4] = 5;
A [5] = 6;
A [6] = 7;
A [7] = 8;
A [8] = 9;
A [9] = 10;
Nous avons stocké les dix valeurs dans une variable basée sur un index. Le premier index commence à 0. La première valeur est donc à 0eindex et la dernière valeur est à 9eindice. Ces indices sont également appelés indices.
Dans la mémoire de l'ordinateur, le tableau A ci-dessus sera représenté par:
Nous pouvons maintenant définir un tableau comme une variable qui est une collection d'éléments du même type de données et stockés dans des emplacements de mémoire contigus. La taille d'un tableau est spécifiée au moment de la déclaration et donc la taille est fixe.
Les tableaux dont nous allons parler dans ce didacticiel sont des tableaux de taille fixe ou statiques. Java prend également en charge les tableaux dynamiques appelés «ArrayList» dont la taille peut être modifiée à la volée. Nous aborderons ArrayList en détail plus tard.
Certaines des caractéristiques des tableaux en Java sont répertoriées ci-dessous:
- En Java, un tableau est un objet instancié à partir d'une classe générée dynamiquement.
- En interne, le tableau Java implémente des interfaces sérialisables et clonables.
- Le tableau Java a également une classe d'objet comme classe parente.
- Vous pouvez stocker des valeurs de type intégrées et dérivées dans des tableaux Java.
- Vous pouvez obtenir la longueur d'un tableau en utilisant le membre length et non sizeof comme en C / C ++.
- Java autorise les tableaux simples et multidimensionnels.
Dans ce tutoriel, nous présenterons tous les concepts de tableaux au lecteur que nous allons
à couvrir dans cette série sur les tableaux Java.
Commençons!!
Java Array - Création et initialisation
Des tableaux doivent être créés pour les utiliser dans le programme. La création de tableaux comprend la spécification du type de données des éléments que le tableau va contenir ainsi que le nombre d'éléments que le tableau va contenir.
Nous discuterons de la création de tableaux de différentes manières et également de différentes méthodes à l'aide desquelles nous pouvons initialiser des tableaux.
Un exemple d'une des méthodes utilisées pour la création et l'initialisation du tableau est donné ci-dessous.
public class Main { public static void main(String[] args) { int[] myArray; myArray = new int[5]; myArray[0] = 1; myArray[1] = 3; System.out.println('myArray[0]:' + myArray[0]); System.out.println('myArray[1]:' + myArray[1]); System.out.println('myArray[2]:' + myArray[2]); System.out.println('myArray[3]:' + myArray[3]); System.out.println('myArray[4]:' + myArray[4]); } }
Production:
Dans ce programme, nous avons déclaré un tableau int puis instancié en utilisant new. Ensuite, nous avons initialisé des éléments aux indices 0 et 1 avec les valeurs 1 et 3 respectivement.
Enfin, nous imprimons tous les éléments du tableau. Notez que les éléments que nous n'avons pas initialisés ont des valeurs par défaut égales à 0 car le type de tableau est int.
Imprimer des éléments dans un tableau Java
Lorsque des tableaux sont utilisés dans des programmes, ils sont destinés à être affichés. Pour afficher des éléments de tableau, nous utilisons des méthodes spéciales comme la boucle for, la boucle forEach, la méthode toString de la classe Arrays, etc. Cette rubrique comprend toutes les différentes méthodes utilisées pour imprimer les éléments du tableau.
Ci-dessous, un programme qui utilise la méthode toString de la classe ‘Arrays’ pour imprimer les éléments du tableau.
import java.util.*; public class Main { public static void main(String[] args) { int[] myArray; myArray = new int[5]; myArray[0] = 1; myArray[1] = 3; System.out.println('Array Elements : ' + Arrays.toString(myArray)); } }
Production:
Longueur du tableau en Java
La longueur d'un tableau indique le nombre d'éléments présents dans le tableau. Contrairement à C / C ++, où nous utilisons l'opérateur «sizeof» pour obtenir la longueur du tableau, le tableau Java a la propriété «length». Nous explorerons plus en détail cette propriété plus tard.
Ci-dessous est le programme qui affiche la longueur d'un tableau.
import java.util.*; public class Main { public static void main(String[] args) { int[] myArray = {1,3,5,7,9,11}; System.out.println('Size of the given array : ' + myArray.length); } }
Production:
Dans ce programme, nous avons initialisé le tableau en utilisant un littéral de tableau, puis en utilisant la propriété length, nous affichons la taille / longueur du tableau.
Types de données Java Array
Vous pouvez avoir des tableaux de tous les types de données. Dans cette rubrique, nous explorerons les tableaux avec différents types de données et leurs définitions.
Dans le programme ci-dessous, nous avons défini des tableaux de type int et string et affiché leur contenu respectif .
import java.util.*; public class Main { public static void main(String[] args) { int[] myArray = {1,3,5,7,9,11}; String[] strArray = {'one','two','three','four','five'}; System.out.println('Elements of int array : ' + Arrays.toString(myArray)); System.out.println('Elements of String array : ' + Arrays.toString(strArray)); } }
Production:
Ajout d'un élément à un tableau
L'ajout d'un élément au tableau est une opération importante. Les tableaux en Java sont statiques et de longueur fixe. Par conséquent, vous devez fournir un ensemble spécifique d'opérations pour ajouter un nouvel élément au tableau. Les différentes méthodes d'ajout d'un élément au tableau seront discutées ici.
L'une des méthodes d'ajout d'un élément au tableau consiste à utiliser ArrayList comme structure intermédiaire. Nous convertissons le tableau en ArrayList. Ensuite, nous ajoutons l'élément à ArrayList et changeons ArrayList en tableau.
Le programme ci-dessous montre cette implémentation.
import java.util.*; class Main { public static void main(String[] args) { int n = 10; int i; Integer intArray[] = { 1, 2, 3, 4, 5 }; System.out.println('Original Array:
' + Arrays.toString(intArray)); int num = 10; Listintlist = new ArrayList(Arrays.asList(intArray)); intlist.add(num); intArray = intlist.toArray(intArray); System.out.println('
Array after adding ' + num + '
' + Arrays.toString(intArray)); } }
Production:
Supprimer / Supprimer un élément d'un tableau
La suppression d'un élément d'un tableau est également une autre opération majeure. Java ne nous permet pas directement de supprimer un élément. Nous utilisons donc d'autres options pour ce faire.
convertir char en int en c ++
Ci-dessous est la mise en œuvre de l'une des méthodes pour supprimer l'élément d'un tableau à l'aide d'un ArrayList .
import java.util.*; importjava.util.stream.*; class Main { public static void main(String[] args) { int[] tensArray = { 10,20,30,40,50}; System.out.println('Input Array: '+ Arrays.toString(tensArray)); int index = 1; System.out.println('Index to be removed: ' + index); if (tensArray == null || index = tensArray.length) { System.out.println('No element to delete'); } ListtensList = IntStream.of(tensArray).boxed().collect(Collectors.toList()); tensList.remove(index); tensArray = tensList.stream().mapToInt(Integer::intValue).toArray(); System.out.println('Array after deleting element at '+ index + ':
'+ Arrays.toString(tensArray)); } }
Production:
Ici, nous convertissons d'abord le tableau en ArrayList, puis supprimons l'élément à l'aide de la méthode ArrayList remove. Après cela, nous convertissons ArrayList en tableau et sortons le tableau modifié.
Copie d'un tableau en Java
Nous allons discuter de certaines des opérations pour copier des éléments de tableau d'un tableau à un autre. Nous discuterons également de la copie superficielle et profonde des tableaux.
Une de ces méthodes est la méthode copyOf () de la classe Arrays du package java.util .
import java.util.*; public class Main { public static void main(String[] args) { int[] intArray = {10,15,20,25,30,35,40}; int array_len = intArray.length; System.out.println('Original Array:' + Arrays.toString(intArray)); int[] copy_intArray = Arrays.copyOf(intArray, array_len); System.out.println('Copied Array:' + Arrays.toString(copy_intArray)); } }
Production:
La méthode ‘copyOf’ de la classe Arrays copie le tableau spécifié comme argument avec sa longueur dans un autre tableau.
Cloner un tableau en Java
Vous pouvez également créer un clone d'un tableau en Java. Java fournit une méthode pour cela dans le package ArrayUtils. Nous explorerons plus en détail le clonage ici.
Implémentons un exemple simple qui clone un tableau en Java.
import java.util.*; class Main { public static void main(String args[]) { int num_Array[] = {5,10,15,20,25,30}; int clone_Array[] = num_Array.clone(); System.out.println('Original num_Array:' + Arrays.toString(num_Array)); System.out.println('Cloned num_Array:'+ Arrays.toString(clone_Array)); } }
Production:
Ainsi, le clonage consiste simplement à copier en utilisant une méthode différente.
Tri des tableaux en Java
Le tri des éléments du tableau ou leur classement par ordre croissant ou décroissant est l'une des opérations importantes. La plupart des applications ont besoin que leurs données soient triées. Java fournit un tri de filtre pour les tableaux. Nous en discuterons en détail dans le cadre du tri.
Voici un exemple simple de s orting un tableau dans Jave en utilisant la méthode Arrays.sort () .
import java.util.Arrays; public class Main { public static void main(String[] args) { int[] num_Array = {115,32,56,78,94,108,100,63}; System.out.println('Original Array: ' + Arrays.toString(num_Array)); Arrays.sort(num_Array); System.out.println('Sorted Array: ' + Arrays.toString(num_Array)); } }
Production:
Comme indiqué ci-dessus, la méthode de tri de la classe Arrays trie les éléments du tableau dans l'ordre croissant.
Inverser un tableau en Java
L'inversion de la séquence des éléments n'est pas non plus fournie par les tableaux. Tout comme supprimer, nous devons faire un certain redressement et obtenir les résultats. Dans cette rubrique, nous verrons les méthodes pour inverser un tableau.
Le programme suivant montre le mise en œuvre de l'inversion d'un tableau .
import java.util.*; public class Main { public static void main(String[] args) { Integer [] even_Arrayr = {2,4,6,8,10}; System.out.println('Original Array:' + Arrays.asList(even_Arrayr)); Collections.reverse(Arrays.asList(even_Arrayr)); System.out.println('Reversed Array:' + Arrays.asList(even_Arrayr)); } }
Production:
Exception ArrayIndexOutOfBounds
Lorsque vous essayez d'accéder à des éléments de tableau au-delà de la longueur spécifiée ou d'un index négatif, le compilateur lève l'exception «ArrayIndexOutOfBounds». Nous explorerons plus en détail cette exception dans notre rubrique connexe.
import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayListmyList = new ArrayList(); myList.add('one'); myList.add('two'); System.out.println(myList.get(2)); } }
Production :
Dans le programme ci-dessus, nous avons une ArrayList avec deux entrées et nous essayons d'obtenir l'entrée à l'index 2 qui n'existe pas. Par conséquent, le programme donne une exception IndexOutofBounds.
Tableau de chaînes Java et diverses méthodes
Parmi tous les types de données pris en charge par Java, String est le plus important. Par conséquent, le tableau de type String mérite également une discussion spéciale. Comme les données contenues dans un tableau de chaînes sont principalement du texte, diverses méthodes sont fournies pour manipuler le texte.
import java.util.ArrayList; public class Main { public static void main(String[] args) { String[] rgb = {'Red', 'Green', 'Blue'}; System.out.println('The string array elements:'); for (String item: rgb) { System.out.print(item + ' '); } } }
Production:
Ceci est un programme de base pour un tableau de chaînes. Nous venons de déclarer un tableau de chaînes et d'afficher son contenu en utilisant la boucle forEach.
Tableaux multidimensionnels en Java
Jusqu'à présent, nous n'avons vu que des tableaux à une dimension. Java prend également en charge les tableaux multidimensionnels dont les éléments sont principalement organisés en lignes et en colonnes. Les tableaux en Java deviennent plus complexes car chaque élément du tableau peut contenir un autre tableau.
Nous explorerons ici les tableaux multidimensionnels en Java ainsi que leurs opérations spécifiques.
Implémentons un exemple de tableau à deux dimensions.
class Main { public static void main(String args[]) { // declaring and initializing 2D array int array_2d[][] = { {1,2,3},{4,5,6},{7,8,9} }; System.out.println('The two-dimensional array is as follows:'); for (int i=0; i<3 ; i++) { for (int j=0; j < 3 ; j++) System.out.print(array_2d[i][j] + ' '); System.out.println(); } }
Production:
Tableau d'objets Java
Outre le stockage des types primitifs, les tableaux Java peuvent également stocker des objets. Dans cette rubrique, nous explorerons quelques exemples d'un tableau d'objets.
Un exemple est donné ci-dessous.
class Main{ public static void main(String args[]){ Test testobj[] = new Test[2] ; testobj[0] = new Test(); testobj[1] = new Test(); testobj[0].setData(1,3); testobj[1].setData(2,4); System.out.println('For Array Element 0 (testobj[0]):'); testobj[0].displayData(); System.out.println('For Array Element 1 (testobj[1]):'); testobj[1].displayData(); } } class Test{ int val1; int val2; public void setData(int c,int d){ val1=c; val2=d; } public void displayData(){ System.out.print('val1 ='+val1 + '; val2 ='+val2 + '
'); } }
Production:
Nous pouvons avoir des tableaux contenant des éléments en tant qu'objets. Dans le programme ci-dessus, nous avons un tableau d'objets de la classe Test. Nous appelons individuellement des fonctions membres pour chaque objet pour définir et afficher les valeurs.
Renvoyer un tableau en Java
De la même manière, dans laquelle nous retournons une variable à partir de n'importe quelle méthode, nous pouvons également renvoyer un tableau. De même, nous pouvons passer un tableau à une méthode. Ces deux possibilités seront discutées avec des exemples ici.
En général, une référence au tableau est transmise à / depuis une méthode.
Le programme suivant montre le retour d'un tableau en Java .
class Main { static int[] add_sub(int val1, int val2) { int[] result = new int[2]; result[0] = val1 + val2; result[1] = val1 - val2; return result; } public static void main(String[] args) { int[] result = add_sub(10, 5); System.out.println('val1 + val2 = ' + result[0]); System.out.println('val1 - val2 = ' + result[1]); } }
Production:
Dans le programme ci-dessus, nous effectuons deux opérations, à savoir l'addition et la soustraction de deux nombres. Le résultat de chaque opération est stocké en tant qu'élément dans le tableau. Ensuite, toute la référence du tableau est renvoyée à la fonction appelante.
Classe de tableau Java
La classe de tableau Java est une classe du package java.util qui fournit la fonctionnalité de manipulation des tableaux. Il fournit de nombreuses fonctions comme la copie d'un tableau, le tri, la conversion d'un tableau en chaîne, etc.
Tableau générique Java
Nous avons déjà vu des génériques en Java qui sont des entités indépendantes du type. Les tableaux Java peuvent être génériques dans lesquels ils peuvent être définis comme indépendants des types. Mais le code générique n'est pas disponible lorsque le code d'octet est généré et il est donc difficile de déduire le type d'élément, le tableau tiendra au moment de l'exécution.
Ainsi, au lieu de tableaux, nous passons aux listes du framework de collections Java chaque fois que des génériques sont nécessaires.
Cependant, nous pouvons également avoir une structure de tableau de type générique en employant une ou plusieurs méthodes. Ici, nous allons explorer ces méthodes.
Un exemple de l'une des méthodes utilisant des tableaux d'objets est donné ci-dessous.
import java.util.Arrays; class Main { public static void main(String[] args) { final int length = 5; //integer array object from Generic_Array class Generic_ArrayintArray = new Generic_Array(length); for (int i = 0; i Production:
Donc, dans le programme ci-dessus, nous avons écrit une classe de tableau générique avec un tableau d'objets comme élément et des méthodes get / set pour obtenir / définir des objets de tableau. Nous avons également remplacé la méthode toString de la classe Arrays. Dans la classe Main, nous créons deux objets d'une classe de tableau générique de type Integer et String et leur attribuons les valeurs appropriées.
Tableaux irréguliers en Java
Les tableaux dentelés sont des tableaux multidimensionnels avec chaque tableau de membres de tailles différentes. Un tableau Jagged est également un exemple de tableau de tableaux.
Le programme suivant montre un exemple du tableau Jagged.
class Main { public static void main(String[] args) { int jagged_array[][] = new int[2][]; jagged_array[0] = new int[4]; jagged_array[1] = new int[2]; for (int i=0; i Production:
Nous avons un tableau 2D dans le programme ci-dessus. La première dimension de tableau est 4 tandis que la seconde est 2. La sortie montre le contenu des deux dimensions du tableau en dents de scie.
Tableaux dans Java 8
Comme Java 8 était une version majeure de Java, nous passerons en revue les changements qu'il a apportés aux tableaux. Par exemple, les flux sur les tableaux ont été introduits dans Java 8.
Importer un tableau en Java
programme pour télécharger des vidéos de n'importe quel site Web
Nous pouvons inclure des fonctionnalités supplémentaires pour les tableaux en Java en important la classe «Arrays» du package «java.util».
Nous pouvons également importer le package arrayutils pour plus de fonctionnalités. Vous devez avoir acquis plus de connaissances sur la fonctionnalité d'importation à partir de nos exemples précédents.
API et documentation Java Array
L'API de tableau Java est une collection de toutes les fonctions qui agissent sur les tableaux Java. Nous allons parcourir cette interface de programmation d'application (API) ici.
Nous avons enfin répertorié toutes les propriétés et méthodes ainsi que leur description pour les tableaux Java. Cela aidera les lecteurs avec une référence rapide.
Questions fréquemment posées
Q # 1) Les tableaux sont-ils des types de données primitifs en Java?
Répondre: Les tableaux ne sont pas des types de données primitifs, mais les tableaux sont des objets conteneurs qui contiennent des éléments du même type de données dans des emplacements contigus.
Q # 2) Les types de référence Arrays sont-ils en Java?
Répondre: Oui. Le tableau est un conteneur d'objets et est traité comme des références.
Q # 3) Pouvez-vous augmenter la taille d'un tableau en Java?
Répondre: Non. Vous déclarez des tableaux et l'instanciez avec size. Une fois spécifié, vous ne pouvez pas modifier la taille du tableau.
Conclusion
Dans ce didacticiel, nous vous avons présenté le concept de tableaux en Java. Nous avons discuté des principaux sujets associés aux tableaux Java.
Dans nos didacticiels suivants, nous explorerons en détail ces sujets liés à Array en Java.
Bon apprentissage!!
lecture recommandée
- Types de données Java, boucles, tableaux, commutateurs et assertions
- Exceptions Java et gestion des exceptions avec des exemples
- Tutoriel Java Generics avec des exemples
- Tutoriel sur l'interface Java et les classes abstraites avec des exemples
- Introduction au langage de programmation Java - Tutoriel vidéo
- Tutoriel Java String avec String Buffer et String Builder
- Tutoriel JAVA pour les débutants: plus de 100 tutoriels vidéo Java pratiques
- Tableaux multidimensionnels et tableaux dentelés en C #