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 :

operation applicable sur un Vector


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut operation applicable sur un Vector
    différence entre 'setelementAt' 'set ' et 'add' --> je reçoit différente résultat en changeant ça je suis débutante et sur mes vecteur j'ai utiliser add au début .j'en ai un vecteur sur la quelle je fait un mise à jour des valeur . en utilisant 'add' ça donne un résultat lorsque je change en "setelementAt" ça donne autre résultat (qu'est ce que j'utilise afin d'obtenir une résultat correcte)

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    add(int index, E element) permet d'insérer un élement, qui prend l'index spécifié et décale ce qui se trouvait à cet index et la suite vers la fin du vecteur

    set(int index, E element) permet de remplacer l'élement situé à l'index spécifié par l'élément spécifié en argument

    setElementAt(E element, int index) est la méthode originale de la classe Vector ,qui fait exactement la même chose que set(int index, E element) (à noter l'inversion des argument au niveau de la syntaxe, donc se méfier avec des Vector<Integer>), avant qu'elle n'implémente List (dès java 1.2)

    A noter, qu'il vaut mieux utiliser ArrayList que Vector, si ta liste/ton vecteur n'est pas manipulé par plusieurs threads.

    Tout étant expliqué ici.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    merci bien compris

  4. #4
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    pour le ARRAY LIST le add(index ,valeur) pose problème?? c'est comme le set ou fait un décalage??

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    pour le ARRAY LIST le add(index ,valeur) pose problème?? c'est comme le set ou fait un décalage??
    Ce que doivent faire les méthodes set et add est explicité dans l'interface java.util.List. Les classes qui implémentent ces méthodes se doivent de respecter le contrat de ces méthodes, ce qui est le cas pour Vector, comme pour ArrayList.

    Donc add(index, valeur) quelle que soit la classe du jdk qui implémente cette méthode pour implémenter l'interface java.util.List (ce serait vraiment un comble que les classes du jdk ne respectent pas les contrats de leurs propres interfaces !) insert un élément dans la liste

    et add(index, valeur) ne pose aucun problème parce qu'elle insert au lieu de remplacer : c'est le but de cette méthode d'insérer, comme c'est le but de la méthode set(index, valeur) que de remplacer (elles peuvent toutes les deux déclencher des erreurs dans le cas ou l'index n'est pas inférieur à la taille, mais c'est un autre sujet), pour toutes les classes qui implémentent java.util.List
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    add(int index, E element) permet d'insérer un élement, qui prend l'index spécifié et décale ce qui se trouvait à cet index et la suite vers la fin du vecteur
    mais vous disez c'est le meme pour vector et Array list et içi vous avez dit qu'il décale à la fin !!!!

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    mais vous disez c'est le meme pour vector et Array list et içi vous avez dit qu'il décale à la fin !!!!
    Euh, je n'ai pas dit que ça "décale à la fin", dont je ne saisi pas le sens d'ailleurs.

    add(index, valeur) insert valeur en le méttant à l'index index ce qui décale ce qui s'y trouvait avant vers la fin (vers = dans la direction de)

    avant insertion 0=A, 1=B, 2=D, 3=E
    inserer C en 2, mets C en 2 est décale D et E vers la fin
    après insertion donc : 0=A, 1=B, 2=C, 3=D, 4=E



    dans Vector, comme dans ArrayList

    (à ne pas confondre avec add(valeur) qui ajoute à la fin (comprendre après le dernier actuel)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    mais vous disez c'est le meme pour vector et Array list et içi vous avez dit qu'il décale à la fin !!!!
    Euh, je n'ai pas dit que ça "décale à la fin", dont je ne saisi pas le sens d'ailleurs.

    add(index, valeur) insert valeur en le méttant à l'index index ce qui décale ce qui s'y trouvait avant vers la fin (vers = dans la direction de)

    avant insertion 0=A, 1=B, 2=D, 3=E
    inserer C en 2, mets C en 2 et décale D et E vers la fin
    après insertion donc : 0=A, 1=B, 2=C, 3=D, 4=E



    dans Vector, comme dans ArrayList

    (à ne pas confondre avec add(valeur) qui ajoute à la fin (comprendre après le dernier actuel)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre régulier
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Points : 101
    Points
    101
    Par défaut
    je veux just savoir la meilleur méthode d’écraser la valeur à i et d'ajouter une autre à ça place pour le array List et pourquoi c'est mieux d'utiliser L'arrayList???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	public static  ArrayList<Integer>Multiplication(ArrayList<Integer> vecteur1,ArrayList<Integer> vecteur2 )
    	{ArrayList<Integer> vecteurrecup = new ArrayList<Integer>();
    		for (int i=0; i<vecteur1.size()&& i<vecteur2.size() ; i++)
    			{
    			int valeur = vecteur1.get(i)* vecteur2.get(i);
    				vecteurrecup.add(i,valeur);
    			}
    		return vecteurrecup;	
    	}
    cava ce code??

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    je veux just savoir la meilleur méthode d’écraser la valeur à i et d'ajouter une autre à ça place pour le array List et pourquoi c'est mieux d'utiliser L'arrayList???
    Y'a pas de meilleure méthode entre add(index,valeur) et set(index, valeur) :
    pour remplacer (écraser comme tu dis) une valeur à une position particulière, c'est set(index, valeur) qu'il faut utiliser. c'est tout.

    pour vaut mieux utiliser l'ArrayList que Vector : disons que pour un petit programme de test, isolé, ça n'a pas grande importance, si ce n'est l'habitude qu'on prend à utiliser ArrayList plutôt que Vector.

    Vector est implémenté pour être thread safe : c'est à dire que plusieurs threads peuvent modifier un élément, ou lire un élement, ou ajouter un élémént, ou supprimer un élément... en même temps (sauf pour les Iterator). Le code qui permet de comportement est consommateur de temps.

    Si tu as besoin d'une List qui n'est pas partagée entre plusieurs threads, autant utiliser ArrayList, surtout si ta méthode est susceptible être appelée de nombreuses fois : le temps perdu pour gérer le mode thread-safe va se cumuler, inutilement. Dans une application web par exemple, ou des millions d'utilisateurs peuvent se connecter et utiliser une fonction qui nécessite une manipulation de cette liste, ça peut compter.

    Citation Envoyé par FATENMRABET Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	public static  ArrayList<Integer>Multiplication(ArrayList<Integer> vecteur1,ArrayList<Integer> vecteur2 )
    	{ArrayList<Integer> vecteurrecup = new ArrayList<Integer>();
    		for (int i=0; i<vecteur1.size()&& i<vecteur2.size() ; i++)
    			{
    			int valeur = vecteur1.get(i)* vecteur2.get(i);
    				vecteurrecup.add(i,valeur);
    			}
    		return vecteurrecup;	
    	}
    maintenant au vu de ton code posté, tu n'a rien à "écraser" : tu crées une nouvelle liste vecteurrecup. qui est donc vide. donc y'a rien à remplacer dedans.

    Il suffit d'ajouter à la fin chaque nouvelle valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    			int valeur = vecteur1.get(i)* vecteur2.get(i);
    				vecteurrecup.add(valeur);
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/02/2013, 12h19
  2. [debutant STL] question sur les vectors
    Par killerjeff dans le forum SL & STL
    Réponses: 13
    Dernier message: 19/08/2004, 17h32
  3. application sur le bureau
    Par SQUAL dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 14/06/2004, 17h18
  4. base de donnees sur serveur application sur client
    Par rabi dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/05/2004, 21h04
  5. quel langage pour créer des "applications" sur 1 s
    Par jaribu dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 30/07/2003, 14h06

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