JAVA 06 : COMPLÉMENTS – ARRAYLIST D`OBJETS – OBJETS
Transcription
JAVA 06 : COMPLÉMENTS – ARRAYLIST D`OBJETS – OBJETS
JAVA 06 : COMPLÉMENTS – ARRAYLIST D'OBJETS – OBJETS COMPOSÉS ARRAYLIST D'OBJETS Lorsque vous instanciez et initialisez un ArrayList de pays par exemple : List<String> lesPays = new ArrayList<String> (); lesPays.add("France"); lesPays.add("Allemagne"); vous ajoutez à la liste : lesPays un Objet de la classe String, on aurait pu écrire : lesPays.add(new String("France")); Il est donc possible de créer un ArrayList de La classe Person vu en TP : List<Person> lesPersonne = new ArrayList<Personne> (); lesPersonne.add(new Person( '' toto'' , 25, 1.8, 70)); lesPersonne.add(new Person( '' titi'' , 23, 1.74, 65)); lesPersonne.add(new Person( '' tutu'' , 27, 1.68, 58)); Et ensuite de parcourir cette collection pour afficher ou calculer les différentes caractéristiques d'une personne : Exemple : 1 Comment afficher le nom de chaque personne figurant dans la collection ? 2 Comment afficher la taille moyenne des personnes figurant dans la collection ? CLASSE COMPOSÉE Dans la classe DVD vu en TP, l'attribut dateSortie est une instance ( un objet) de la classe GregorianCalendar, au même tire que l'attribut String est une instance de la classe String. DVD titre : String couleur : char dateSortie : GregorianCalendar (Objet GregorianCalendar) + toString() : String + prixDVD() : double + isNouveaute() : boolean Pour créer un objet GregorianCalendar, on peut utiliser un des constructeurs de la classe: Attention : les mois commencent à zéro GregorianCalendar dateSortie = new GregorianCalendar(2013,0,15); DVD dvd = new DVD("les seigneurs",'R',dateSortie) ; on peut également utiliser la syntaxe suivante : DVD dvd = new DVD("les seigneurs",'R',new GregorianCalendar(2013,0,15)) ; Autre exemple : Comment dans la classe Personne faire figurer le fait qu'une personne a une adresse ? Personne nom : String age : int taille : double poids : double + toString() : String + isAdult() : boolean + determineIMC() : double + significationIMC() : String 1 avoir > Adresse 1 rue : String ville : String int codePostal : String + toString() : String Si on change les règles, et qu'on vous indique qu'une personne peut avoir plusieurs adresses ( adresse principale, adresse de livraison, adresse de travail etc...), comment faire figurer ces adresses dans la classe Personne ? TP6 JAVA – COLLECTION D'OBJET Exercice 1 : Initialiser une liste de personne : List<Person> lesPersonne = new ArrayList<Personne> (); lesPersonne.add(new Person( '' toto'' , 25, 1.8, 70)); Ajouter à cette liste une dizaine de personnes ( prendre les personnes de la classe) 1 Afficher la taille moyenne et le poids moyen des personnes figurant dans la collection ? 2 – Afficher les caractéristiques de la personne la plus grande 3 – Afficher les caractéristiques de la personne la plus maigre Exercice 2 : 1 – Écrire une classe adresse Adresse rue : String ville : String codePostal : String + toString() : String 2 – Modifier la classe Person pour prendre en compte le fait qu'une personne à une adresse 3 – Ajouter à votre List<Person> lesPersonne, l'adresse de chaque personne. ( mettre pour quelque personne le code postal de Melun : 77 000) 4 – Afficher toutes les personnes qui habitent Melun Exercice 3 : 1 Modifier la classe Person pour prendre en compte le fait qu'une personne peut avoir plusieurs adresses. 2 Ajouter à votre List<Person> lesPersonne, les adresses de chaque personne. ( mettre pour quelque personne plusieurs adresses) 3 – Afficher toutes les personnes qui ont plus d'une adresse Extrait : Class ArrayList<E> Constructor Summary ArrayList() Constructs an empty list with an initial capacity of ten. ArrayList(int initialCapacity) Constructs an empty list with the specified initial capacity. Method Summary boolean add(E e) Appends the specified element to the end of this list. void add(int index, E element) Inserts the specified element at the specified position in this list. void clear() Removes all of the elements from this list. E boolean E boolean E int get(int index) Returns the element at the specified position in this list. isEmpty() Returns true if this list contains no elements. remove(int index) Removes the element at the specified position in this list. remove(Object o) Removes the first occurrence of the specified element from this list, if it is present. set(int index, E element) Replaces the element at the specified position in this list with the specified element. size() Returns the number of elements in this list.
Documents pareils
ArrayList en Java
– ligne1 : déclare un ArrayList (collection) de chaînes de caractères
– lignes 2-3 : y ajoute 2 objets chaînes de caractères ; remarquer la deuxième forme d’ajout : on
instancie un objet qu’on ajou...
Un petit mot sur les ArrayList
Comment ? Grâce à des objets collections !
L’avantage de ces objets c’est qu’ils sont dynamiques, et donc ils n'ont pas de taille à
prédéfinir ( on ne peut donc pas dépasser leur capacité).
L’Arra...
La classe ArrayList permet de mettre en oeuvre un tableau dont la
Exemple [voir]
import java.util.ArrayList;
import java.util.Iterator;
public class programme {
public static void main(String[] args) {
ArrayList tableau = new ArrayList(500);
for(int i = 1; i <= 1...