Les collections

Status:
Tags: <% tp.file.cursor(3) %>
Links: <% tp.file.cursor(4) %>


Les collections

<% tp.file.cursor(5) %>


introduction

definition

Une collection est un objet qui contient d’autres objets

Exemple

Un tableau est une collection

Classes

• AbstractCollection, ArrayList, Arrays, Collections, HashSet, LinkedList, TreeSet, Vector…

Interfaces

• List, Map, Set, SortedMap, SortedSet
Ces classes et interfaces se trouvent dans le paquetage java.util

ArrayList

Description

Déclaration

public class ArrayList<E> extends AbstractList<E>  
	implements List<E>, RandomAccess, Cloneable, Serializable 

Quelques caractéristiques

La classe java.util.ArrayList est la classe la plus utilisée

Création d’une instance ArrayList

Il y a des constructeurs :

	ArrayList()  
	ArrayList(int initialCapacity)  

Il y a deux manières d’ajouter un élément :

Autres méthodes d’ArrayList

	ArrayList()  
	ArrayList(int initialCapacity)  

set(int index, Object newElement)

	int size();
	boolean contains(Object obj)   
	remove(int index)

Exemple

public class Etudiant{  
	private String leNom;  
	public Etudiant(String unNom){  
		leNom = unNom;  
	}  
	public void setNom(String nom) { leNom = nom; }  
	public String getNom() { return leNom; }  
}

Exemple (utilisant la classe Object)

public static void main(String [] args) {  
	ArrayList <Object> tableauEtudiants= new ArrayList<Object>();  
	Etudiant e1 = new Etudiant("Bachir")  
	Etudiant e2 = new Etudiant("Nadir");  
	tableauEtudiants.add(e1);  
	tableauEtudiants.add(e2);  
	if (! tableauEtudiants.isEmpty()) {  
		for (int i = 0; i< tableauEtudiants.size();i++)  
			System.out.println(((Etudiant) tableauEtudiants.get(i)).getNom());  
			tableauEtudiants.remove(1);}  
		}
	}
}

Exemple (utilisant la classe Etudiant )

public static void main(String [] args) {  
	ArrayList<Etudiant> tableauEtudiants =  new ArrayList<Etudiant> ();  
	Etudiant emp1 = new Etudiant(« Bachir ");  
	Etudiant emp2 = new Etudiant("Nadir");  
	tableauEtudiants.add(emp1);  
	tableauEtudiants.add(emp2);  
	if (!tableauEtudiants.isEmpty()) {  
		for (int i = 0; i< tableauEtudiants.size(),i++)  {
			System.out.println((Etudiant) tableauEtudiants.get(i).getNom());  
			tableauEtudiants.remove(1);}  
		}
	}
}

Boucles

Exemple

Utilisation d’un index :

for (int i = 0; i< tableauEtudiants.size();i++)
	System.out.println( tableauEtudiants.get(i).getNom());

Boucle for-each

Répéter des actions pour chaque objet d'une collection donnée

Pasted image 20240312112111.png

Exemple

for (Etudiant e : tableauEtudiants)
	System.out.println( e.getNom());

Exemple

Utilisation de Iterator

ArrayList implémente la méthode Iterator iterator() qui retourne un itérateur sur l’ensemble des éléments.

for (Iterator<Etudiant> i=tableauEtudiants.iterator();i.hasNext();)
	System.out.println( i.next().getNom());

Exercice

Ecrire une classe TestClientIterator qui

  1. Remplira les 03 objets suivant dans un objet ArrayList.
Element Type Valeur
1 Integer 42
2 String "test"
3 Bouble -12.34
  1. Parcourir cette liste (comme Iterator et/ou non), afind’ afficher ces trois éléments.
import java.util.*;
class TestClientIterator {
	public static void main(String[] args) {
		ArrayList<Object> al = new ArrayList<Object>();
		al.add(new Integer(42));
		al.add(new String("test"));
		al.add(new Double("-12.34"));
		// Commme Iterator
		for(Iterator<Object> iter=al.iterator(); iter.hasNext();)
			System.out.println( iter.next() );
		//Pas comme Iterator
		for(Object o:al) System.out.println( o );
	}
} 

Comme ArrayList, LinkedList implémentent l'interface List.

Comparaison de temps d’exécution de méthodes entre objets LinkedList et ArrayList

--------------méthode add ----------------
ArrayList : 101
LinkedList : 469
--------------méthode get -----------------
ArrayList : 1
LinkedList : 24592
--------------méthode remove ------------
ArrayList : 2671
LinkedList : 94

Autres Collections

Pasted image 20240312113558.png
Plusieurs types de collections :

application

type 1

type 1

type 1

Criticisms

type 1

type 1

type 1

Future of

type 1

type 1

type 1

References:

Created:: 2024-03-12 11:08