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

Collection et Stream Java Discussion :

ArrayList comptage et regroupement


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut ArrayList comptage et regroupement
    Bonjour,
    Voila je me tourne vers vous pour résoudre un petit PB.

    J'ai une ArrayList compose d'item du genre :
    44fg
    85de
    89fg
    44fg
    Comme on peux le constater certains items y son plusieurs fois.
    Ce que je souhaiterai c'est pouvoir les rassembler et les compter
    44fg2
    85de
    89fg
    J'avais déjà fais ça avec du vb.net dont voici le code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     result.Sort()
                'Regroupement et comptage des items identiques(45DL,45DL donne 45DL2 et mis en tableau) 
                For i As Integer = 0 To result.Count - 1
                    For j As Integer = 0 To tab.Length - 1
                        If tab(j, 0) = result(i) Or tab(j, 0) = "" Then
                            tab(j, 0) = result(i)
                            Dim val As Double = tab(j, 1)
                            tab(j, 1) = val + 1
                            Exit For
                        End If
                    Next
                Next
    mais étant tout nouveau en Java je m'y perd.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Utilise un Set à la place de List (ArrayList).

    A+.

  3. #3
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut
    Merci pour la réponse.
    Le fait d'utiliser un SET empêche les doublons.
    Moi ce que je cherche c'est de savoir combien de fois apparait chaque terme.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 586
    Par défaut
    Oui, ce serait plutôt un Map<String, Integer>, du coup.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre chevronné Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Par défaut proposition
    Salut,

    j'ai fait un petit test dis moi si ça te convient :

    1. Tu fais un objet qui contient un String et un compteur :

    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
    public class MonObjet{
     
        private String chaine;
        private int occurence;
     
        public MonObjet(String chaine, Integer occ) {
            this.chaine = chaine;
            this.occurence = occ;
        }
     
        public String getChaine() {
            return chaine;
        }
     
        public int getOccurence() {
            return occurence;
        }
    }
    2. Tu fais une petite methode pour compter ton ArrayList :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public ArrayList countMyItems(ArrayList<String> objets) {
            ArrayList<MonObjet> mesObjets = new ArrayList();
            while (!objets.isEmpty()) {
                String tmp = objets.get(0);
                int j = 0;
                while (objets.remove(tmp)) {
                    j++;
                }
                MonObjet a = new MonObjet(tmp, j);
                mesObjets.add(a);
            }
     
            return mesObjets;
        }
    Tu récupère un ArrayList avec ta chaîne et ton compteur d’occurrence.

    Tchao,


    Toutgrego

  6. #6
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut
    Merci pour ton aide toutgrego mais je ne voit pas comment me servir de ton code.

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

Discussions similaires

  1. aide sur regroupement et comptage
    Par salluste dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 17/06/2014, 15h24
  2. [AC-2003] Requête avec comptage et à plusieurs regroupements!
    Par js8bleu dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/01/2010, 02h23
  3. regrouper les objets d'un arraylist
    Par moonila dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 19/06/2009, 11h52
  4. comptage par regroupement
    Par Dorinn dans le forum Requêtes
    Réponses: 7
    Dernier message: 20/04/2009, 11h41
  5. sélection unique en fonction d'un attribut et comptage sur regroupement
    Par JMi$h€ll dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 16/10/2007, 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