0% ont trouvé ce document utile (0 vote)
15 vues17 pages

Chap2 Java Debutant

Transféré par

mesdesire123
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues17 pages

Chap2 Java Debutant

Transféré par

mesdesire123
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Java

Chapitre 2: Les tableaux

Dr. Ahmad Khoureich Ka

UADB L2 D2AW

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 1 / 17


Sommaire

1 Les tableaux
Déclaration et initialisation
Tableaux à plusieurs dimensions
Manipulation de tableaux

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 2 / 17


Les tableaux

Les tableaux

+ Un tableau est un objet regroupant un nombre fixé d’éléments


(primitifs ou objets) de même type.

+ Le nombre d’éléments d’un tableau est fixé lors de sa création.

+ Chaque élément est accessible grâce à un indice correspondant à


sa position dans le tableau.

+ Un élément d’un tableau est accessible en spécifiant son indice


entre crochet après le nom du tableau.

+ Les indices commencent à partir de 0.

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 3 / 17


Les tableaux Déclaration et initialisation

Déclaration et initialisation

+ Déclaration
Syntaxe : typeElement[] nomTableau;

Exemple 1 : int[] t;

Exemple 2 : Equation[] equas;

+ Initialisation
Syntaxe : nomTableau = new typeElement[nbElement];

Exemple 1 : t = new int[5];

Exemple 2 : equas = new Equation[3];

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 4 / 17


Les tableaux Déclaration et initialisation

Déclaration et initialisation

+ Initialisation lors de la déclaration avec des éléments connus


Exemple 1 :
int[] t = {10, 20, 30, 40, 50};
Exemple 2 :
Equation equa1 = new Equation(230, -17, 5);
Equation equa2 = new Equation(9, -7, 59);
Equation equa3 = new Equation(-7, 0, 3);
Equation[] equas = {equa1, equa2, equa3};
+ Initialisation élément par élément
Exemple 1 :
t = new int[3];
t[0] = 10; t[1] = 20; t[2] = 30;
Exemple 2 :
equas = new Equation[2];
equas[0] = equa1;
equas[1] = equa2;
Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 5 / 17
Les tableaux Déclaration et initialisation

Déclaration et initialisation
Remarque
L’initialisation d’un élément d’un tableau peut se faire à l’aide d’une
expression.

Exemples
float a = 12.5f;
float[] t = {a, 2*a, 3*a, 4*a, 5*a};

equa1[] equas = {null, new Equation(-7, 0, 3), null};

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 6 / 17


Les tableaux Déclaration et initialisation

Déclaration et initialisation
Remarques
+ Un tableau est un objet, ses éléments sont initialisés avec la
valeur par défaut de leur type.
Exemples :
L’instruction int[] t = new int[5]; crée un tableau de 5
entiers initialisés chacun à 0.
L’instruction Equation[] equas = new Equation[2]; crée
un tableau de 2 objets Equation initialisés chacune à null.

+ Un tableau a la propriété length égale au nombre de ses


éléments.
Exemple :
int[] t = {10,20,30,40,50};
System.out.println("Le nombre d'éléments de t est: " + t.length);

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 7 / 17


Les tableaux Tableaux à plusieurs dimensions

Tableaux à plusieurs dimensions

+ Un tableau à plusieurs dimensions est un tableau dont les


éléments sont des tableaux.

+ Déclaration : tableau à 2 dimensions


Syntaxe : typeElement[][] nomTableau;
Exemple : int[][] t;

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 8 / 17


Les tableaux Tableaux à plusieurs dimensions

Tableaux à plusieurs dimensions

+ Initialisation : Syntaxes
Tableau de n1 éléments où chaque élément est un tableau de n2
éléments :
nomTableau = new typeElement[n1][n2];

Tableau de n éléments où chaque élément est un tableau de


dimension pas encore fixée :
nomTableau = new typeElement[n][];

Exemple :
int[][] t1 = new int[5][7];
int[][] t2 = new int[5][];

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 9 / 17


Les tableaux Tableaux à plusieurs dimensions

Tableaux à plusieurs dimensions

+ Initialisation lors de la déclaration avec des éléments connus


Exemple :
int[][] t = { {7, 8, 5, 2, 3}, {1, 4, 2, 3, 6},
{4, 0, 9} };
+ Initialisation élément par élément
Exemple 1 :
int[][] t1 = new int[3][];
t1[0] = new int[3];
t1[1] = new int[2];
t1[2] = new int[5];

Exemple 2 :
int[][] t2 = new int[2][3];
t2[0][0] = 5; t2[0][1] = 3; t2[0][2] = 15;
t2[1][0] = 0; t2[1][1] = 12; t2[1][2] = 7;

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 10 / 17


Les tableaux Manipulation de tableaux

Copie de tableaux

+ Copie de tableaux avec la méthode arraycopy de la classe


System.
public static void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length)

src le tableau source,


srcPos : l’indice de l’élément du tableau source à partir duquel
commence la lecture,
dest : le tableau destination,
destPos : l’indice du tableau destination à partir duquel
commence l’écriture,
length : le nombre d’éléments à copier.

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 11 / 17


Les tableaux Manipulation de tableaux

Copie de tableaux
Exemple : Copier les 3 derniers éléments de tabInt1 dans les 3
premières positions de tabInt2.

int[] tabInt1 = {5,1,4,3,2};


int[] tabInt2 = new int[5];
System.arraycopy(tabInt1, 2, tabInt2, 0, 3);

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 12 / 17


Les tableaux Manipulation de tableaux

Copie de tableaux

+ Copie de tableaux avec la méthode copyOf de la classe


java.util.Arrays.
public static int[] copyOf(int[] original,
int newLength)

original: le tableau source,


newLength: taille du tableau retourné.

Exemple : Copier les éléments de tabInt1 dans un nouveau


tableau tabInt2 de 10 éléments.
int[] tabInt1 = {5,1,4,3,2};
int[] tabInt2 = Arrays.copyOf(tabInt1, 10);

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 13 / 17


Les tableaux Manipulation de tableaux

Copie de tableaux

+ Copie de tableaux avec la méthode copyOfRange de la classe


java.util.Arrays.
public static int[] copyOfRange(int[] original,
int from,
int to)

original: le tableau source,


from: indice de départ pour la copie (inclusif).
to: indice de fin pour la copie (exclusif). Peut être supérieur à la
taille du tableau source.

Exemple : Copier à partir de la positions 1, 3 éléments du tableau


tabInt1 dans un nouveau tableau tabInt2.
int[] tabInt1 = {5,1,4,3,2};
int[] tabInt2 = Arrays.copyOfRange(tabInt1, 1, 4);

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 14 / 17


Les tableaux Manipulation de tableaux

Copie de tableaux

+ Remarque :
Les méthodes copyOf et copyOfRange peuvent être utilisées
avec des tableaux de primitifs ou d’objets,

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 15 / 17


Les tableaux Manipulation de tableaux

Trier les éléments d’un tableau

+ La méthode :
public static void sort(int[] a)
de la classe java.util.Arrays permet de trier tous les
éléments d’un tableau par ordre croissant.

+ La méthode :
public static void sort(int[] a,
int from,
int to)
de la classe java.util.Arrays permet de trier par ordre
croissant les éléments compris entre les indices from (inclusif) et
to (exclusif) d’un tableau.

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 16 / 17


Les tableaux Manipulation de tableaux

Trier les éléments d’un tableau

+ Exemple : Trier par ordre croissant les 3 derniers éléments de


tabInt1
int[] tabInt1 = {5,1,4,3,2};
Arrays.sort(tabInt1, 2, tabInt1.length);

Le tableau tabInt1 devient égale à {5,1,2,3,4}

+ Remarque :
La méthode sort peut être utilisée avec des tableaux de primitifs
ou d’objets,

Dr. Ahmad Khoureich Ka Java UADB L2 D2AW 17 / 17

Vous aimerez peut-être aussi