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

avec Java Discussion :

recuperer ensuite effacer le dernier element d'un vecteur


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 113
    Points : 42
    Points
    42
    Par défaut recuperer ensuite effacer le dernier element d'un vecteur
    salut,

    je sais qu'on crée un vecteur avec:

    Vector vect=new Vector();

    et on ajoute un element au vecteur par:vect.addElement("ppio");

    mon souci:
    comment je dois à partir d'un vecteur qui contient des elements, recuperer le dernier element ensuite l'effacer, ensuite recuperer l'avant dernier ensuite l'effacer du vecteur,....etc; comme si on travaille avec les piles(on recupere l'element et on depile)

    Merci

  2. #2
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Tu parcours ton vecteur en sens inverse...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Vector v = new Vector();
    v.add("1");
    v.add("2");
    v.add("3");
    v.add("4");
    v.add("5");
    v.add("6");
    for(int i = v.size() -1;i>=0;i--){
        System.out.println(v.get(i));//Affiche l'élément ( récupérer)
        v.remove(i);
    }
    System.out.println("Taille du vector (normalement zero) : "+v.size());
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  3. #3
    Membre actif

    Inscrit en
    Octobre 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 133
    Points : 295
    Points
    295
    Par défaut
    A noter que la méthode remove de vector retourne un objet,
    il s'agit de l'objet supprimé, il n'est donc pas nécessaire de le récupérer avant mais directement de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object removedObject = v.remove(i);
    dans la boucle

  4. #4
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Autant pour moi henolivier, merci d'avoir rectifier
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 113
    Points : 42
    Points
    42
    Par défaut
    salut,

    mais est ce que je peux recuperer, ensuite effacer le dernier element d'un vecteur sans une boucle; parce que dans mon code je dois recuperer ensuite supprimer le dernier element, ensuite je dois executer certaines instructions, ensuite je recupere et je supprime du vecteur,...etc.

    J'espére que j'etais clair

    Merci

  6. #6
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    Citation Envoyé par sitws Voir le message
    salut,

    mais est ce que je peux recuperer, ensuite effacer le dernier element d'un vecteur sans une boucle; parce que dans mon code je dois recuperer ensuite supprimer le dernier element, ensuite je dois executer certaines instructions, ensuite je recupere et je supprime du vecteur,...etc.

    J'espére que j'etais clair

    Merci
    Tu fais exactement une boucle. A priori, tu dois faire tes instructions pour chaque element de ton vector, donc il te suffit d'integrer tes instructions à la boucle.
    Exemple:
    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
     
    Vector<String> v = new Vector<String>();
    String removedObject = null;
    v.add("1");
    v.add("2");
    v.add("3");
    v.add("4");
    v.add("5");
    v.add("6");
    for(int i = v.size() -1; i >= 0; i--){
     removedObject = v.remove(i);
     //Execution des instructions de l'element du vector a traiter
     //par exemple on l'affiche dans la console
     System.out.println(removedObject); //qui dans cet exemple est un String
    }
    System.out.println("Taille du vector (normalement zero) : " + v.size());
    Dans ce cas, tu as le dernier objet de ton vector dans removedObject bien qu'il ne soit plus dans ton vector. Donc ainsi removedObject sera porteur du dernier element du vector et tu pourra faire ton traitement dessus.
    La javaDoc est mon amie, elle est la tienne aussi!

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 113
    Points : 42
    Points
    42
    Par défaut
    salut,
    j'ai resolu ce probleme,:

    à chaque fois que je veux exploiter le ernier element, je procede de la façon suivante:
    1- je recupere la taille du vecteur: vect.Size();
    2-j'exploite le dernier element: System.out.println(vect.elementAt(taille - 1));
    3-je supprime le derneir element: vect.removeElementAt(taille - 1);

    actuellement mon souci est:

    par exemple: quand j'ajoute un element à la fin du vecteur à l'aide de la methode: vect.addElement(e);

    et par la suite je veux le recuperer, par la methode: System.out.println(vect.elementAt(taille - 1));

    il affiche:[Element: e]

    Ma question:
    comment je dois faire pour qu'il affiche seulement: e(sans [Element: et ])

    Merci.

  8. #8
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Tu ajoutes un objet E à ton vector.
    Donc dans la classe E tu redéfinis la méthode toString()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public String toString(){
    return "blabla";
    }
    Et tu appelles la méthode toString de ton objet pour l'afficher
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    vu l'usage que t'en fait, pourquoi ne pas utiliser un vraie pile, comme la class Stack qui étends Vector avec ses méthodes push et pop.... ?

  10. #10
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 113
    Points : 42
    Points
    42
    Par défaut
    salut,

    Merci pour vos aides.
    vos suggestion m'ont aider à trouver la solution qui est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void f(){
    je recupere le dernier element grace à la methode: vect..lastElement();
    int taille =vect.Size();
    vect.removeElementAt(taille - 1);
    }
    Merci

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

Discussions similaires

  1. Connaitre le dernier élément de mysql_fetch_array
    Par H-bil dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 12/06/2006, 15h06
  2. Recuperer le style d'un Element en Javascript
    Par systemofaxav dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/06/2006, 14h08
  3. N dernier elements
    Par breynard dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/12/2005, 09h56
  4. SOS comment recuperer base effacée par erreur ?
    Par fred666 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 04/08/2005, 09h14
  5. selectionner le dernier element d'une liste box
    Par adilou1981 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/03/2005, 10h19

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