Afficher contenu hashSet dans java
Fermé
webtech
Messages postés
14
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2010
-
22 nov. 2008 à 21:59
allo - 6 nov. 2009 à 15:43
allo - 6 nov. 2009 à 15:43
A voir également:
- Parcourir set java
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel football - Télécharger - Jeux vidéo
- Java jre - Télécharger - Langages
- Jeux java itel 5360 ✓ - Forum Mobile
3 réponses
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
328
22 nov. 2008 à 22:13
22 nov. 2008 à 22:13
Bonsoir,
Il faut que tu utilises un itérateur.
Exemple :
Ceci aura pour effet d'appeler la méthode toString() de ton objet (celle héritée de la classe Object, ou alors celle que tu auras écrite pour surcharger celle de la classe Object).
Qu'entends-tu par "extraire un élément" ? Avec un hashset, tu peux uniquement tester si un objet appartient à ton ensemble ou non (et éventuellement le retirer de l'ensemble).
C'est difficile de parler d'extraction d'un élément dans un ensemble car tu n'as pas de notion d'ordre ici.
Cordialement,
Il faut que tu utilises un itérateur.
Exemple :
Hashset<TonObjet> hs = new Hashset<TonObjet>(); Iterator<TonObjet> it = hs.iterator(); while (it.hasNext()) { System.out.println(it.next()); }
Ceci aura pour effet d'appeler la méthode toString() de ton objet (celle héritée de la classe Object, ou alors celle que tu auras écrite pour surcharger celle de la classe Object).
Qu'entends-tu par "extraire un élément" ? Avec un hashset, tu peux uniquement tester si un objet appartient à ton ensemble ou non (et éventuellement le retirer de l'ensemble).
C'est difficile de parler d'extraction d'un élément dans un ensemble car tu n'as pas de notion d'ordre ici.
Cordialement,
webtech
Messages postés
14
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2010
1
22 nov. 2008 à 22:22
22 nov. 2008 à 22:22
au faite, par exemple, j'ai une hashset qui contient des objet de type étudiant.
chaque étudiant à un numéro unique.
je veux créer une méthode qui supprime un étudiant suivant son numéro.
merci
chaque étudiant à un numéro unique.
je veux créer une méthode qui supprime un étudiant suivant son numéro.
merci
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
328
22 nov. 2008 à 22:30
22 nov. 2008 à 22:30
Bonsoir,
Comme tu vois, il faut parcourir tout ton ensemble pour supprimer l'élément (complexité en O(n)). Je ne sais pas si le choix du Hashset t'es imposé (et après ça dépend des autres utilisations que tu en fais), mais pour pouvoir supprimer un élément en temps constant (O(1)), il vaut mieux utiliser une Hashmap.
Cordialement,
Hashset<Etudiant> hs = new Hashset<Etudiant>(); //remplissage de ton hashset ... Iterator<Etudiant> it = hs.iterator(); while (it.hasNext()) { Etudiant etudiant = (Etudiant) it.next(); if (id == etudiant.getId()) { //si id est un type primitif, sinon utiliser equals() hs.remove(etudiant); break(); } }
Comme tu vois, il faut parcourir tout ton ensemble pour supprimer l'élément (complexité en O(n)). Je ne sais pas si le choix du Hashset t'es imposé (et après ça dépend des autres utilisations que tu en fais), mais pour pouvoir supprimer un élément en temps constant (O(1)), il vaut mieux utiliser une Hashmap.
Cordialement,
webtech
Messages postés
14
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2010
1
22 nov. 2008 à 22:40
22 nov. 2008 à 22:40
j'aurais préféré opter pour autre choix que hashset mais malheureusement, on me l'a imposer et apprement comme vous le dite, dans mon cas, il aurait été plus sage d'utiliser hashmap.
Merci bien Marco!
Merci bien Marco!
6 nov. 2009 à 15:43
Vacances@addbf1
en fait de veux afficher les atrribuuts
merci de maider