Arraylist
k-23
Messages postés
290
Statut
Membre
-
k-23 Messages postés 290 Statut Membre -
k-23 Messages postés 290 Statut Membre -
Bonjour,
Je ne sais pas si quelqu'un peux m'aider je suis débutant en programmation java. Je sais quand même creer de code les instancier et tout je sais faire les chose simple. On m'a dit que la classe Arraylist possède quelque chose d'especial pouvais vous me donner un code comme exemple Merci (un code avec les particularité de cette classe)
merci
Je ne sais pas si quelqu'un peux m'aider je suis débutant en programmation java. Je sais quand même creer de code les instancier et tout je sais faire les chose simple. On m'a dit que la classe Arraylist possède quelque chose d'especial pouvais vous me donner un code comme exemple Merci (un code avec les particularité de cette classe)
merci
2 réponses
Bonsoir,
Tu utilises quelle version de Java ?
La classe ArrayList n'a rien de "spécial", que veux-tu dire par là ?
Cordialement,
Tu utilises quelle version de Java ?
La classe ArrayList n'a rien de "spécial", que veux-tu dire par là ?
List<String> list = new ArrayList<String>();
list.add("Toto");
list.add("Titi");
list.add("Tutu");
Cordialement,
k-23
Messages postés
290
Statut
Membre
9
on ma dit que a cause des anciennes version je pas tres bien compris
k-23
Messages postés
290
Statut
Membre
9
je utilise le dernier jdk
enfait on ma dis qu'on pouvais mettre dans une classe ArrayList plusieurs types soit int ou String
Ok, on a du te parler des types génériques.
C'est simple, certaines classes de Java (notamment toutes les structures de données, comme les List, Map, Set et autres Queue) sont génériques, c'est-à-dire qu'elles peuvent être utilisées pour manipuler de nombreuses classes différentes.
Tout d'abord dans ces classes, tu ne peux manipuler que des instances de classe, pas des types primitifs (pas de int par exemple). Pour manipuler des int, tu fais de la manière suivante :
Les types génériques doivent manipuler des instances du même type. C'est restrictif me diras-tu. Pas vraiment, car tu peux utiliser le polymorphisme pour stocker des instances de classes différentes (on utilisera soit la super-classe commune la plus proche, soit une interface implémentée par toutes tes classes) :
Comme en java tous les objets héritent de la classe Object, tu peux très bien créer une liste d'object pour stocker plein d'instances de type différent (mais dès que tu peux, il vaut mieux éviter).
Cordialement,
C'est simple, certaines classes de Java (notamment toutes les structures de données, comme les List, Map, Set et autres Queue) sont génériques, c'est-à-dire qu'elles peuvent être utilisées pour manipuler de nombreuses classes différentes.
Tout d'abord dans ces classes, tu ne peux manipuler que des instances de classe, pas des types primitifs (pas de int par exemple). Pour manipuler des int, tu fais de la manière suivante :
List<Integer> list = new ArrayList<Integer>(); list.add(5); //java instancie automatiquement la classe Integer System.out.println(list.get(0).getClass().getName()); //affiche java.lang.Integer
Les types génériques doivent manipuler des instances du même type. C'est restrictif me diras-tu. Pas vraiment, car tu peux utiliser le polymorphisme pour stocker des instances de classes différentes (on utilisera soit la super-classe commune la plus proche, soit une interface implémentée par toutes tes classes) :
List<Number> list = new ArrayList<Number>(); list.add(new Integer(5)); list.add(new Float(0.23)); //Integer et Float étendent tous deux la classe Number
Comme en java tous les objets héritent de la classe Object, tu peux très bien créer une liste d'object pour stocker plein d'instances de type différent (mais dès que tu peux, il vaut mieux éviter).
Cordialement,
j'essaye de reproduire le meme code que tu as ecrit en premier, mais ca marche pas ca compile pas
j,ai crée une classe livre
après jai creer une autre classe dans la quelle jai mis
public static void main (String[] params) {
livre a = new livre("gggg");
livre <String> list = new ArrayList <String> (); //ici ca marche pas
} // main
ca marche pas
j,ai crée une classe livre
après jai creer une autre classe dans la quelle jai mis
public static void main (String[] params) {
livre a = new livre("gggg");
livre <String> list = new ArrayList <String> (); //ici ca marche pas
} // main
ca marche pas
Bonjour,
Oui, ce n'est pas étonnant, ça ne veut pas dire grand chose ce que tu as écrit.
Il ne faut pas écrire livre <String> list = new ArrayList <String> (); mais :
List<Livre> list = new ArrayList<Livre>();
Cette ligne veut dire "je crée une liste qui va contenir des lignes. Cette liste va être implémentée par une ArrayList".
Cordialement,
Oui, ce n'est pas étonnant, ça ne veut pas dire grand chose ce que tu as écrit.
Il ne faut pas écrire livre <String> list = new ArrayList <String> (); mais :
List<Livre> list = new ArrayList<Livre>();
Cette ligne veut dire "je crée une liste qui va contenir des lignes. Cette liste va être implémentée par une ArrayList".
Cordialement,