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 :

assembler un tableau de chaines


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Inscrit en
    Février 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 20
    Par défaut assembler un tableau de chaines
    Bonjour,

    Je cherche a assembler un tableau de type List<String> en String avec un séparateur entre les chaines.
    Existe-t-il une fonction capable de faire ceci, comme sous php avec implode ?

    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 230
    Par défaut
    la réponse et non... tu parcours ta liste et tu crées ton string au fur et à mesure

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Août 2002
    Messages : 35
    Par défaut
    Il te suffit d'utiliser la méthode toString()...


    Le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    String toto;
    ArrayList liste = new ArrayList();
     
    liste.add("texte1");
    liste.add("texte2");
    liste.add("texte3");
    liste.add("texte4");
    liste.add("texte5");
     
    toto = liste.toString();
     
    System.out.println( toto );
    te donnera le résultat suivant :

    [texte1, texte2, texte3, texte4, texte5]

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Août 2002
    Messages : 35
    Par défaut
    Citation Envoyé par ge-lt Voir le message
    la réponse et non... tu parcours ta liste et tu crées ton string au fur et à mesure
    Un peu radical...

  5. #5
    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 ge-lt Voir le message
    la réponse et non... tu parcours ta liste et tu crées ton string au fur et à mesure
    J'ajouterais... "tu parcours ta liste et crées ton String intelligemment au fur et à mesure"

    "Intelligemment", c'est-à-dire que tu passes par un StringBuffer ou un StringBuilder, et que tu ne récupères ton String que tout à la fin de la méthode.

    Sinon la méthode toString() sur la liste est effectivement envisageable, mais je lui trouve des inconvénients:

    - pas de choix possible du séparateur
    - conséquence de ce premier problème, si les chaînes de caractères contiennent des virgules, les post-traitement sur cette chaîne de caractère risquent d'être vraiment compliqués...
    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

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Août 2002
    Messages : 35
    Par défaut
    Citation Envoyé par CyberChouan Voir le message
    Sinon la méthode toString() sur la liste est effectivement envisageable, mais je lui trouve des inconvénients:

    - pas de choix possible du séparateur
    - conséquence de ce premier problème, si les chaînes de caractères contiennent des virgules, les post-traitement sur cette chaîne de caractère risquent d'être vraiment compliqués...
    Les séparateurs peuvent facilement être remplacés par ceux voulus avec la méthode replaceAll.

    Mais c'est vrai que je n'avais pas pensé à l'éventualité d'avoir des virgules dans les chaines concaténées...

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par kikijojo72 Voir le message
    Les séparateurs peuvent facilement être remplacés par ceux voulus avec la méthode replaceAll.
    Franchement c'est un peu de la bidouille... surtout pour une simple concaténation de chaines !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	public static String implode (String glue, Iterable<String> pieces) {
    		Iterator<String> iterator = pieces.iterator();
    		if (iterator.hasNext()) {
    			StringBuilder sb = new StringBuilder(iterator.next());
    			while(iterator.hasNext()) {
    				sb.append(glue).append(iterator.next());
    			}
    			return sb.toString();
    		}
    		return null; // Iterable vide
    	}
    a++

Discussions similaires

  1. Réponses: 10
    Dernier message: 31/05/2007, 15h10
  2. compraison de fichier txt et tableau de chaine
    Par steph_nied dans le forum C
    Réponses: 10
    Dernier message: 15/05/2006, 15h26
  3. [C] tableau de chaines de caractères
    Par kitsune dans le forum C
    Réponses: 18
    Dernier message: 01/04/2006, 18h18
  4. tableau de chaine
    Par florantine dans le forum C++
    Réponses: 1
    Dernier message: 18/01/2006, 15h17
  5. Réponses: 11
    Dernier message: 31/12/2005, 13h00

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