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 :

[Débutant] ArrayList => String?


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Par défaut [Débutant] ArrayList => String?
    Bonjour, voila,

    Je crée un ArrayList ou chaque élément est un caractère.
    Mon but est de transformer cet ArrayList, rempli de caractères, en un String pour y effectuer des opérations.

    Voici mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    array.add(c); //array est un ArrayList et c un caractere
    array.trimToSize();
    Object[] tempArray = array.toArray(); //devient tableau d'objets
    String strBalise = Arrays.toString(tempArray);
    System.out.println("strBalise = " + strBalise);
    Et lorsque j'effectue ce print, mon tableau ne s'imprime pas,enfin uniquement le 1er et le dernier caractère...
    Est-ce un hasard?

    Ou est ma faute? Je voudrais simplement passer d'un ArrayList dans lequel je rajoute des caractères à la String correspondant...

    Si quelqu'un a une solution à mon problème elle est la bienvenue...

    Merci d'avance...

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Et si utilisais un StringBuilder, cela ne serait pas plus facile ?

    Pour ce qui est de ton code, je pense que tu fais un contresens sur l'usage de la méthode toString(). Elle ne sert pas - sauf dans quelques classes, comme pour le StringBuilder, justement - à obtenir une variable de chaîne, mais plutot un petit message donnant un résumé du contenu de l'objet. C'est aussi une chaine de caractères, tu vas me dire, mais c'est plus orienté débogage.

    Si tu tiens absolument à conserver ta méthode (un peu lourdingue, je ne te le cache pas), il faudrait faire plutôt quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    char[] bufchaine;
     
    bufchaine = new char[array.size()];
    for (int i = 0; i < array.size(); i++)
    {
     Character objcar;
     
     objcar = (Character)array.get(i);
     bufchaine[i] = objcar.charValue();
    }
    Strinf ouf = new String(bufchaine);
    Tu verras, avec un StringBuilder, c'est 500 fois plus simple.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Par défaut
    Je viens d'essayer avec votre code mais quand je fais un print je n'ai que le 1er et le dernier caractere...

    Quand je prends la taille de la String elle est toujours égale à 2...

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par nanath02 Voir le message
    Quand je prends la taille de la String elle est toujours égale à 2...

    C'est que tu t'es trompé ailleurs :

    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
    31
    32
    33
    34
    35
    36
    37
    38
     
    import java.util.List;
    import java.util.ArrayList;
     
    /**
     * @author millie
     *
     */
    public class Developpez {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		List<Character> list = new ArrayList<Character>();
    		list.add('s');
    		list.add('a');
    		list.add('l');
    		list.add('u');
    		list.add('t');
     
    		char[] bufchaine;
     
    		bufchaine = new char[list.size()];
    		for (int i = 0; i < list.size(); i++)
    		{
    		 Character objcar;
     
    		 objcar = (Character)list.get(i);
    		 bufchaine[i] = objcar.charValue();
    		}
    		String ouf = new String(bufchaine);
     
    		System.out.println(ouf);
    	}
     
    }
    Marche parfaitement

    Mais je te conseille tout de même d'utiliser autre chose, comme StringBuilder comme il a déjà été indiqué

    D'ailleurs, on ne peut pas faire des listes de char, mais que des listes d'objets (donc Character)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 97
    Par défaut
    Oui effectivement j'avais fait une erreur quelque part car cele fonctionne maintenant...

    Pour la classe StringBuilderje me renseignerai en effet je n'ai plus beaucoup de temps pour finir ce projet donc tant que cela fonctionne pour le moment c'est ok.

    Merci pour vos indications

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

Discussions similaires

  1. [débutant] vider une string
    Par Biosox dans le forum SL & STL
    Réponses: 2
    Dernier message: 07/11/2005, 15h16
  2. [débutant]modifier des string
    Par calavera dans le forum SL & STL
    Réponses: 1
    Dernier message: 16/09/2005, 20h45
  3. [débutant] tri vecteur string ordre alphabétique
    Par Tom Sawyer dans le forum SL & STL
    Réponses: 2
    Dernier message: 26/07/2004, 17h40
  4. Réponses: 3
    Dernier message: 26/05/2004, 23h03
  5. [Débutant] Tri tableau String
    Par Sigwald dans le forum Collection et Stream
    Réponses: 22
    Dernier message: 14/05/2004, 08h55

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