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 :

[List] l'élément récurent


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [List] l'élément récurent
    Bonjour Je voudrais trier ma list par éléments les plus fréquent.

    exemple: pour des modèle de voiture, si la couleur la plus récurente de ma liste est le rouge puis le vert classer tout mes string qui ont une valeur rouge puis tout les string ayant une valeur verte.

    Il y a t'il une méthode prédéfinie, sinon comment en crée une ?

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    tu as Collections.sort(List,Comparator), a toi d'écrire ton Comparator qui correspond à tes critères

  3. #3
    Invité
    Invité(e)
    Par défaut
    d'accord je voudrais bien le faire, mais comment je m'y prend ?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    tu écrit un comparator qui correspond à tes critères et tu appelle cette méthode. Le comparator n'a qu'une seule méthode, ça devrais pas être bien dur.

  5. #5
    Membre éclairé
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Points : 844
    Points
    844
    Par défaut
    Les objets peuvent être comparables entre eux de 2 façons:
    - Un tri naturel en implémentant l'interface Comparable
    - Un tri délégué en injectant un Comparator donnant l'intelligence du tri au moment de l'effectuer.

    Pour effectuer un tri naturel de tes objets au sein d'une collection, il suffit d'appeler la méthode Collections.sort(taCollection);

    Pour effectuer un tri spécifique de tes objets au sein d'une collection, il faut donc plutôt appeler la méthode Collections.sort(taCollection,tonComparator);

    Maintenant, que ce soit le tri naturel ou tri spécifique, l'implémentation doit être capable de donner un résultat de comparaison entre 2 objets sans connaitre les autres objets a comparer.

    C'est pourquoi dans ton cas, je commencerais par échantillonnage de ta collection afin de mémoriser la distribution de la caractéristique (frequence de chaque couleurs de tes voitures) au sein de ta liste.
    Puis il suffit d'écrire un Comparator utilisant cette distribution afin de comparer deux voitures.
    JBusyComponent, une API pour rendre occupé un composant swing.
    SCJP Java 6.0 (90% pass score)

  6. #6
    Invité
    Invité(e)
    Par défaut
    Voilà j'ai fait autrement, en utilisant des listes classé par ordre alphabétique, dont une sans les doublons.

    Malheureusement, j'ai du mal implémenté mes boucle donc j'ai pas le résultat souhaité, qui est l(es) élément(s) le plus récurent:
    Si vous pouvez m'aidez pour mes boucles:
    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
    25
    26
    27
                int topCompteur=0;
                int nouveau =0;
     
     
                for(int i=0; i<listSet.size();i++){ //Boucle de la liste sans double
                	for(int j=0; j< color.size(); j++){ //Boucle de la liste Brut
                		boolean condition = color.get(j).equals(listSet.get(i));
                		if(color.get(j).equals(listSet.get(i))){
                			topCompteur++;
                   		}
                		if(condition == false){
                			String actuel=color.get(j);
                			nouveau++;
                			boolean condition2 = color.get(j).equals(actuel);
                			if(condition2 == false)
                				break; //Je suppose que c'est ici que ca bloque
                		}
                	}   
                	if (topCompteur<nouveau){
                		topCompteur = nouveau;
                		top.clear();
                		top.add(color.get(i));
                	}
              	  if(topCompteur == nouveau)                                          
            		  top.add(color.get(i));   
     
                }
    Dernière modification par Invité ; 25/07/2010 à 09h16.

Discussions similaires

  1. Réponses: 12
    Dernier message: 10/08/2006, 17h22
  2. [MySQL] Liste d'éléments même si il manque des liens
    Par samyboy dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/07/2006, 15h40
  3. [VB]Ja'imerais afficher une liste d'éléments...
    Par STRUFIELD dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/01/2006, 18h49
  4. [struts] afficher page par page une liste d'élément
    Par BurningPat dans le forum Struts 1
    Réponses: 6
    Dernier message: 27/09/2005, 11h09
  5. [Forms] : liste d'éléments
    Par JuRu dans le forum Forms
    Réponses: 3
    Dernier message: 01/06/2004, 12h18

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