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

Java Discussion :

Dénombrer les combinaisons de caractères dans des chaînes stockées dans une List


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 93
    Par défaut Dénombrer les combinaisons de caractères dans des chaînes stockées dans une List
    Bonjour,

    J'ai créé une fonction concatStrings pour concaténer tous les éléments de la liste listItem , puis j'ai créé une fonction nbrDuplicate pour retourner une map qui contient tous les caractère qui existent dans la liste et le nombre de répétitions de chaque caractère. Dans ce cas le résultat est :
    A 4
    C 6
    D 4
    T 4
    W 5

    Je veux à partir ce résultat trouver toutes les combinaisons possibles de ces caractères et leur nombre de répétitions dans chaque combinaison, c'est-à-dire :
    AC 4 (AC existe dans l'element 1,3,4,5 de la liste)
    AD 2 (AD existe dans l'element 4,5 de la liste)
    AT 3
    AW 4
    CD 4
    CT 3
    CW 5
    DT 2
    DW 3
    TW 3

    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
    28
    29
    30
     
    List<String> listItem = new ArrayList<String>();
    listItem.add("ACTW");
    listItem.add("CDW");
    listItem.add("ACTW");
    listItem.add("ACDWT");
    listItem.add("ACDW");
    listItem.add("CDT");
     
    static String concatStrings(List<String> strings) {
    		StringBuilder sb = new StringBuilder();
    		for (String s : strings) {
    			sb.append(s);
    		}
    		return sb.toString();
    	}
     
    static Map<Character, Integer> nbrDuplicate(List<String> list) {
    		String str = concatStrings(list);
    		char[] chars = str.toCharArray();
    		Map<Character, Integer> map = new HashMap<Character, Integer>();
    		for (Character ch : chars) {
    			if (map.containsKey(ch)) {
    				map.put(ch, map.get(ch) + 1);
    			} else {
    				map.put(ch, 1);
    			}
    		}
    		return map;
    	}

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Citation Envoyé par Aymenkn Voir le message
    je veux à partir ce résultat trouver tout les combinaison possible de ces caractère et nombre de répétition de chaque combinaiso càd
    Ce que tu veux faire n'est pas possible. Ton premier résultat est une statistique sur ton jeu de données, qui te fait perdre des informations. En particulier tu n'as plus aucune idée de l'agencement des caractères, et tu ne connais plus que leur nombre.

    Pour obtenir le deuxième résultat, tu dois donc impérativement repartir de la liste de départ, et le premier résultat ne peut pas te servir.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/05/2008, 13h11
  2. Superposition caractères dans la liste des figures
    Par Didjflo dans le forum Mise en forme
    Réponses: 1
    Dernier message: 27/09/2007, 14h37
  3. Chercher une chaîne de caractères dans une liste
    Par baedal dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/05/2007, 23h42
  4. Réponses: 4
    Dernier message: 22/05/2006, 11h53
  5. Saisie de plusieurs caractère dans une liste déroulante
    Par Oluha dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/03/2005, 14h32

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