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 :

copie d'un tableau et élimination d'éléments


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut copie d'un tableau et élimination d'éléments
    bonjour!

    j'ai un tableau qui contient des chaines de caractères comme suit:
    <mot1
    mot2
    mot3
    sep
    mot4
    mot5
    sep
    mot6
    mot7
    mot8
    sep
    ....>

    donc chaque case de mon tableau contient un mot, et il y a des cases qui contiennent une chaîne particulière sep .

    je veux mettre les éléments de mon tableau dans d'autres tableaux en éliminant les sep .
    je m'explique :
    je dois faire de sorte que le premier parcours de mon tableau met les mots qu'ils trouve dans un autre tableau tab1, et s'il rencontre un sep le parcours s'interrompe et j'obtient : les n premiers mots dans tab1, et le reste dans le tableau (càd, que la taille du premier tableau sera décrémentée de (la taille de tab1 +1) (+1 car je ne dois aussi éliminer le sep ) .

    et ainsi de suite jusqu'à obtenir le premier tableau avec aucun élément et n autres tableaux (dont tab1) avec n= nombre des séparateurs -1)

    j'espère que ça sera clair .

    j'ai procédé comme-suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    String sep = "*";
     
    		String[] tab1 = { "" };
    		for (int i1 = 0; i1 < tab1.length; i1++) {
    			for (int j = 0; j < tabs.length; j++) {
    				tab1[i1]=tabs[j];	
    					if ((tabs[j].compareTo(sep)) == 0) {
    							return;
    						}
    						//System.out.println(tab1[i1]);
    						//System.out.println(tabs[j]);
     
    					}
    j'obtient tab1 avec les n premiers éléments, bien
    mais tabs aussi sera identique à tab1 avec ce traitement et je ne comprends pas pourquoi, ça d'une part.
    d'autre part, je vous demande si vous disposez de suggestions pour le problème en entier comme je l'ai décrit plus haut.

    merci d'avance!

  2. #2
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    alors déjà un tableau, ce n'est pas dynamique au niveau de la taille. Le plus propre serait de passer par une Liste, mais soit. Ce genre de code devrait être utile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    String[] tabSource = .....;
    String[] tabDest = null;
    List<String> temp = new ArrayList<String>();
    for (String element : tabSource){
       if (element.equals(SEPARATOR)){
           tabDest = temp.toArray(new String[temp.size()]);
           tabSource = Arrays.copyOfRange(tabSource,temp.size(),tabSource.length);
           break;
       } else 
           temp.add(element);
    }

  3. #3
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    bonjour,

    J'ai suivi plusieurs de tes posts, et une question me vient donc a l'esprit : Pourquoi n'as tu pas enlevé les "sep" lors de la récupération des informations et du passage par le StringTokenizer ?

    Visiblement tu parcours n fois les informations pour les structurer d'une certaine façon !

    Quel est ton objectif au final ? Tu récupères les infos d'un fichier pour arriver à quel structure à la fin ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    bonjour, merci pour les réponses

    Alkhan;;
    en fait le stringtokenizer je l'ai utilisé pour récupérer les mots d'un fichier et les mettre dans un tableau.
    maintenant je dois travailler sur plusieurs fichiers en entrées et plusieurs tableaux en sortie.
    j'ai essayé de parcourir le dossier qui contient mes fichiers et faire mon traitement mais je n'arrive pas à une solution avec ça (mon code contenait plusieurs problèmes), j'ai pensé donc à mettre tout les texte (tout les fichiers) dans un seul fichier texte et les séparer par un caractère spécial, pour au final parcourir un tableau contenant tout les mots de tout les fichiers avec dans certaines cases le caractère séparateur, récupérer à chaque fois les mots jusqu'à arriver à la case séparatrice, sortir avec des tableaux contenant que des mots, mais chacun doit contenir seulement les mots d'un seul fichier.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 128
    Par défaut
    j'ai oublié de mentionner qu'au final, je tente de faire une comparaison entre les éléments (mots) du tableau source avec les éléments de chacun des tableaux destinations : dire si un élément du tableau source existe ou non dans chacun des tableaux destination

  6. #6
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    houla la !
    Si j'ai bien compris tu es en train de dire que tu as regroupé le contenu de plusieurs fichier dans un seul fichier, pour ensuite lire ce fichier et exploser en n tableau correspondant au contenu des fichiers initialement regroupé.
    Dans ce cas , revoie ton code car ce n'est pas bon du tout !

    Si je comprend bien tu as fais ça parce que tu n'arrivais pas a créer tes n tableaux directement a partir des n fichiers ?

    Qu'est ce que tu appels le "tableau source" ? Ton objectif est il de trouver les doublons des n fichier ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. éliminer un élément d'un tableau
    Par reckahomis1 dans le forum C
    Réponses: 5
    Dernier message: 29/10/2007, 19h17
  2. [forms 9i] COPY sur un tableau associatif
    Par Magnus dans le forum Forms
    Réponses: 2
    Dernier message: 21/09/2006, 11h11
  3. Réponses: 3
    Dernier message: 27/08/2006, 14h25
  4. [VBA Excel] Copie d'un tableau lignes filtrées comprises
    Par gojira dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/08/2006, 12h53
  5. algorithme de tri tableau :afficher que les éléments unique
    Par sofiane61 dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 31/03/2005, 19h50

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