IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

sous ensemble dans une liste


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut sous ensemble dans une liste
    Bonjour,

    voici une classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    class Rep implements Comparable<Rep> { 
    	private String nom;
    	private int age;
     
    	Rep(String nomf, int agef) {
    		nom=nomf;
    		age=agef;
    	}
     
    	public String getnom() {
    		return nom;
    	}
     
    	public int getage() {
    		return age;
    	}
     
    	public int compareTo(Rep o) {			
    		if( this.age < o.getage()) return 1;
    		if( this.age == o.getage()) return 0;
    		else return -1;
    	};	
    }
    J'instancie cette classe dans des objets que je range dans une liste avec add:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<Rep> vf = new ArrayList<Rep>();
    et je la trie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Collections.sort(vf);
    Il est sur que plusieurs personnes auront le même age, comment faire pour associer à chaque nom le nombre d'individus qui ont le même age que lui ?

    Merci !

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut
    Je précise que je trie sur l'âge, bien sûr.

  3. #3
    Membre Expert
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Par défaut
    Plop,

    Ce que tu cherches à faire est d'associer un age à un ensemble de personnes ?

    Si oui, la classe HashMap est faites pour cela. Elle a pour but d'associer une clé à une valeur.

    Donc tu peux créer une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HashMap<Integer, List<Rep>> h = new HashMap<Integer, List<Rep>>();
    . Ainsi tu associes un age à une liste de Rep.

    Si tu veux néanmoins garder ta liste je te conseille de faire cela :
    - Revoir le compareTo et écrire tout simplement (même si ce n'est pas important)
    - Après avoir trié ta liste, tu peux la parcourir et compter manuellement le nombre de références du même age.

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut
    Bonjour

    merci, je vais tenté ta première proposition, mais je ne pige pas la deuxième!

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Par défaut
    Rebonjour,

    Désolé, Olivier.Pitton, je n'avais pas bien vu ta réponse, je ne cherche pas à associer un âge à un ensemble de personnes, mais pour une personne, obtenir le nombre de ses congénères ayant le même âge qu'elle.

    J'aurais préféré que ce soit ça, mais non.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Par défaut
    Suffit de parcourir toute ta liste, et de comparer les âges des objets de ta liste avec celui de ton this grâce au compareTo.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/11/2010, 12h06
  2. Lister mes sous-sites dans une liste
    Par rohstev dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 09/11/2010, 16h49
  3. [AC-2007] Sous-titres dans une liste déroulante
    Par al_bert dans le forum IHM
    Réponses: 7
    Dernier message: 19/05/2009, 15h21
  4. [LINQ To Object] Sous-ensemble d'une liste
    Par farfadet dans le forum Linq
    Réponses: 6
    Dernier message: 17/11/2008, 23h31
  5. sous ensemble d'une liste
    Par adel25 dans le forum C++
    Réponses: 1
    Dernier message: 23/08/2005, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo