Outils pour utilisateurs

Outils du site


bloc2:prog:poo:tableaux-vs-collections

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc2:prog:poo:tableaux-vs-collections [2023/10/13 16:10] – supprimée - modification externe (Date inconnue) 127.0.0.1bloc2:prog:poo:tableaux-vs-collections [2023/10/13 16:11] (Version actuelle) – [Différences entre Tableaux et Collections] admin
Ligne 1: Ligne 1:
 +====== Différences entre Tableaux et Collections ======
  
 +La [[bloc2:prog:poo:principes-poo|programmation orientée objet (POO)]] en Java propose deux approches courantes pour stocker et manipuler des données : les tableaux et les [[bloc2:prog:poo:collections|collections]]. Cette page explique les différences clés entre ces deux structures.
 +
 +===== Tableaux en Java =====
 +
 +Un tableau en Java est une structure de données statique de taille fixe. Voici les caractéristiques principales des tableaux :
 +
 +  * La taille d'un tableau est définie lors de sa création et ne peut pas être modifiée dynamiquement.
 +  * Tous les éléments d'un tableau doivent avoir le même type de données.
 +  * Les opérations telles que l'ajout, la suppression et la recherche nécessitent une gestion manuelle.
 +
 +==== Exemple d'utilisation des tableaux en Java ====
 +
 +<WRAP group>
 +<WRAP half column>
 +<code java>
 +// Déclaration d'un tableau d'entiers 
 +// d'une taille fixe de 5
 +int[] tableau = new int[5];
 +
 +// Ajout d'éléments au tableau
 +tableau[0] = 10;
 +tableau[1] = 20;
 +
 +// Accès au premier élément du tableau
 +int premierElement = tableau[0];
 +System.out.println(premierElement); 
 +// 10
 +</code>
 +</WRAP>
 +
 +<WRAP half column>
 +<code java>
 +// Déclaration d'un tableau d'entiers 
 +// avec des valeurs prédéfinis
 +int[] tableau = {15, 85, 84, 42};
 +
 +// Accès au deuxième élément du tableau
 +int deuxiemeElement = tableau[1];
 +System.out.println(deuxiemeElement); 
 +// 85
 +</code>
 +</WRAP>
 +</WRAP>
 +
 +
 +===== Collections en Java =====
 +
 +Les [[bloc2:prog:poo:collections|collections]] en Java sont des structures de données dynamiques qui offrent de nombreux avantages par rapport aux tableaux :
 +
 +  * Les [[bloc2:prog:poo:collections|collections]] peuvent grandir ou rétrécir dynamiquement selon les besoins, ce qui élimine le besoin de spécifier une taille initiale.
 +  * Les [[bloc2:prog:poo:collections|collections]] offrent des méthodes prédéfinies pour des opérations courantes telles que l'ajout, la suppression et la recherche.
 +
 +==== Exemple d'utilisation des ArrayList (Classe des Collections) en Java ====
 +
 +<code java>
 +// Import de la classe ArrayList pour pouvoir l'utiliser
 +import java.util.ArrayList;
 +
 +// Déclaration et utilisation d'une ArrayList
 +ArrayList<Integer> liste = new ArrayList<>();
 +
 +// Ajout d'éléments à l'ArrayList
 +liste.add(10);
 +liste.add(20);
 +
 +// Accès au deuxième élément de la collection
 +int deuxiemeElement = liste.get(0);
 +System.out.println(deuxiemeElement ); 
 +// 20
 +</code>
 +
 +==== Collection et opérations prédéfinies ====
 +
 +Les [[bloc2:prog:poo:collections|collections]] simplifient considérablement le travail du développeur en fournissant des opérations prédéfinies pour la gestion des données.
 +
 +<code java>
 +// Suppression du premier élément de la collection
 +liste.remove(0);
 +
 +// Recherche de l'existence de l'élément 20 dans la collection
 +boolean contientElement = liste.contains(20);
 +System.out.println(contientElement); 
 +// true
 +</code>
 +
 +==== Collection et héritage ====
 +
 +Grâce aux [[bloc2:prog:poo:collections|collections]], vous pouvez stocker des éléments de types différents dans une même [[bloc2:prog:poo:collections|collection]] grâce à [[bloc2:prog:poo:heritage|l'héritage]].
 +
 +====== Conclusion ======
 +
 +===== Avantages des Collections =====
 +
 +Les [[bloc2:prog:poo:collections|collections]] en Java présentent plusieurs avantages :
 +
 +  * **Flexibilité** : Les [[bloc2:prog:poo:collections|collections]] s'adaptent dynamiquement à la taille des données, ce qui les rend idéales pour des ensembles de données de taille variable.
 +  * **Polymorphisme** : Vous pouvez stocker des objets de types différents dans une même [[bloc2:prog:poo:collections|collection]] grâce à [[bloc2:prog:poo:heritage|l'héritage]].
 +  * **Facilité d'utilisation** : Les [[bloc2:prog:poo:collections|collections]] offrent des méthodes prédéfinies pour les opérations courantes, ce qui simplifie le développement.
 +
 +===== Limitations des Tableaux =====
 +
 +Les tableaux ont des limitations :
 +
 +  * **Taille Fixe** : La taille d'un tableau est figée à la déclaration.
 +  * **Type Homogène** : Tous les éléments doivent être du même type.
 +  * **Gestion Manuelle** : Les opérations sur les tableaux nécessitent une gestion manuelle, ce qui peut être fastidieux.
 +
 +
 +===== Pour résumer =====
 +
 +<WRAP center round tip 80%>
 +En résumé, les [[bloc2:prog:poo:collections|collections]] offrent une plus grande flexibilité et des fonctionnalités avancées par rapport aux tableaux. 
 +Elles s'adaptent dynamiquement aux besoins de votre programme, permettent le stockage d'objets de types variés et simplifient la gestion des données. 
 +Les tableaux, en revanche, ont une taille fixe et nécessitent une gestion manuelle pour les opérations courantes.
 +Pour plus d'informations sur les collections en Java, vous pouvez consulter la [[https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html|Documentation Java Officielle]].
 +</WRAP>