Question sur les vecteurs

Question sur les vecteurs - Java - Programmation

Marsh Posté le 06-12-2004 à 17:05:51    

salut à tous, ma question est la suivante :
 
comment accéder aux attributs d'une classe dont les instances sont stockées dans un vecteur.
par exemple la classe personne(nom, prenom, age), dont quelques instances sont stockées dans un vecteur v, comment récupérer par exemple les nom des personnes à partir des éléments du vecteur?
 
merci  :(

Reply

Marsh Posté le 06-12-2004 à 17:05:51   

Reply

Marsh Posté le 06-12-2004 à 17:25:42    

uh ?
 
t'as quoi là comme code, qu'est-ce qui te pose réellement problème? un cast peut-etre ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-12-2004 à 17:26:19    

ha oui....heu tu commences en java,non?
((personne)v.elementAt(i)).nom par exemple.
 
2 remarques :
- les noms de classe prennent une majuscule (donc Personne)
- préfère des attributs private et des accesseurs publics(setMonAttribut() et getMonAttribut()) plutôt qu'un accès direct à un attribut (c'est plus propre et quand tu feras des Beans, ben t'auras déjà les bons réflexes).

Reply

Marsh Posté le 06-12-2004 à 17:27:04    

the real moins moins a écrit :

uh ?
 
t'as quoi là comme code, qu'est-ce qui te pose réellement problème? un cast peut-etre ?


Oui oui, je crois qu'effectivement il ne sait pas ce qu'est un cast.

Reply

Marsh Posté le 06-12-2004 à 17:39:05    

avant tout merci ;)
si si je sais ce qu'est un cast mais comme j'utilise un vecteur pour la première fois je me suis senti un poil largué. sinon j'essaie la solution de micky qui me parait très explicite.
 
edit : j'ai pu regler le problème, miille mercis :jap:


Message édité par senomo le 06-12-2004 à 17:40:44
Reply

Marsh Posté le 06-12-2004 à 17:48:34    

utilise une List plutôt qu'un vecteur sauf si tu effectues du travail concurrentiel...  
une List (à instancier par ArrayList) est bcp plus rapide !! (mais quand je dis beaucoup, c'est vraiment flagrant !)

Reply

Marsh Posté le 06-12-2004 à 17:51:59    

légende urbaine


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-12-2004 à 17:58:21    

ouais, moi j'utilise des vecteurs sur des volumes de données importantes (enfin assez importantes, tout est relatif) et je n'ai pas eu de pb de perf / aux vecteurs.

Reply

Marsh Posté le 06-12-2004 à 18:02:09    

de toute façon, en utilisant une List, tu peux toujours utiliser un Vector derrière ;)  
(ne pas confondre interface et classe)

Reply

Marsh Posté le 06-12-2004 à 18:02:16    

(cela dit c'est vrai qu'il n'y pas de raison d'utiliser un Vector si on n'a pas de pb de concurrence, mais bon, c'est pas un sujet de débutant, et ça sert pas à grand chose pour l'instant [:itm])
 
 


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-12-2004 à 18:02:16   

Reply

Marsh Posté le 06-12-2004 à 18:03:55    

(Cela dit, il n'y a pas de réelle raison de ne pas utiliser de Vector même s'il n'y a pas de problème de concurrence)  ;)

Reply

Marsh Posté le 06-12-2004 à 18:04:11    

(de toute façon, même en utilisant un Vector, t'es obligé de synchronizer à la main dès que tu veux parcourir ton vecteur)
 
(et puis les Vector c'est has been : tu peux avoir la même chose en en synchronisant une ArrayList : Collections.synchronizedList(new ArrayList()))

Reply

Marsh Posté le 06-12-2004 à 18:06:33    

(tout à fait :o)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-12-2004 à 18:07:48    

Traite moi de vieux?! J'ai connu le jdk 1.02 remarque, c'était le jeune temps .... ;)

Reply

Marsh Posté le 06-12-2004 à 20:23:22    

intéressant cette discussion...
 
Moi je fais tjs des ArrayList, mais j'avoue ne jamais m'etre posé de questions...


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 06-12-2004 à 20:31:56    

parce que tu es de la nouvelle école : le Vector c'est du temps du jdk1.1


Message édité par benou le 06-12-2004 à 20:33:18

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 07-12-2004 à 09:29:29    

sérieusement j'avais fait des tests d'itération sur des Vector et ArrayList qui contenaient plusieurs centaines d'éléments ce qui est gros mais bon pas énorme non plus et les performances se sentaient... j'allais quasiment 2 fois voire 3 plus vite en itérant des arraylist qu'en itérant des vector
du coup maintenant c arraylist forever !!

Reply

Marsh Posté le 08-12-2004 à 11:12:22    

C'est marrant, moi j'ai travaillé sur des vectors (genre 3 en même temps, contenant pas mal -genre plusieurs centaines- d'éléments) et ça allait vite (le temps perdu venait plutôt de l'interrogation à la base de données)...
Alors peut-être qu'avec des ArrayList ça aurait été encore plus vite, mais bon...
J'essaierai les ArrayList la prochaine fois :)  , je ne suis pas buté et bon si ça se révèle meilleur, ok : je reste ouvert.

Reply

Marsh Posté le 08-12-2004 à 11:45:38    

c'est pas meilleur ou moins bon, c'est juste plus ou moins adapté à des usages differents; y'a d'autres implementations de List les gars, aussi, genre LinkedList ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-12-2004 à 11:48:04    

the real moins moins a écrit :

c'est pas meilleur ou moins bon, c'est juste plus ou moins adapté à des usages differents


dans le cas de Vector, y a plus aucune raison de l'utiliser, sauf pour faire vieux :o

Reply

Marsh Posté le 08-12-2004 à 11:49:22    

oui, pour etre compat' avec un vieux truc [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-12-2004 à 11:54:51    

ou peut-être par habitude, tout bêtement... si ArrayList ne m'apporte rien, je ne vois pas pourquoi je laisserais tomber les Vector...si c'est juste pour dire que je suis à la mode...

Reply

Marsh Posté le 08-12-2004 à 12:01:27    

moins gourmand, plus rapide... après c une question de choix... y'en a qui aime rouler en AX alors que pour le même prix ils ont une 206 tout confort voire plus !! :)

Reply

Marsh Posté le 08-12-2004 à 12:03:09    

LOL j'ai une AX!!!! mort de rire!!!

Reply

Marsh Posté le 08-12-2004 à 12:06:47    

tout s'explique [:rofl]

Reply

Marsh Posté le 16-12-2004 à 23:53:15    

Vector je l'ai utilisé 2h ...jusqu'à ce que je me rende compte qu'une collection était synchronizable via la méthode qui va bien ...et que du coup ca servait à rien...
 
mais c vrai qu'ensuite je me suis plus posé de questions...


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed