Utilisation de la méthode remove (Object) d'une ArrayList

Utilisation de la méthode remove (Object) d'une ArrayList - Java - Programmation

Marsh Posté le 19-12-2002 à 09:44:15    

Voila mon problème :  
je développe une appli en Java dont je livre des mises à jour à des clients.
Ma dernière livraison pose apparement un problème.
Le seul changement que j'ai fait, c'est que, à un endroit ou j'utilisait un Vector, j'utilise maintenant une ArrayList (par l'interface List).
Depuis ce changement, la méthode remove (Objet obj) de ma List ne retire plus un Objet, alors que quand ma List était un Vector, ça fonctionnait très bien. Ce client a la JRE du JDK 1.4.0
J'demande ça a tout hasard hein, j'y crois pas trop, d'autant plus que g pas beaucoup d'éléments, mais : qqn verrait une expliquation à ça ?

Reply

Marsh Posté le 19-12-2002 à 09:44:15   

Reply

Marsh Posté le 19-12-2002 à 09:51:21    

ben, regarde la signature de la méthode!!!
 
 

Code :
  1. remove
  2. public boolean remove(Object o)
  3. Removes the first occurrence in this list of the specified element (optional operation). If this list does not contain the element, it is unchanged. More formally, removes the element with the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))) (if such an element exists).
  4. Specified by:
  5. remove in interface Collection
  6. Parameters:
  7. o - element to be removed from this list, if present.Returns:
  8. true if this list contained the specified element.Throws:
  9. UnsupportedOperationException - if the remove method is not supported by this list.

 
 
Elle te retourne un booléen, cette méthode....Boolay, hein??

Reply

Marsh Posté le 19-12-2002 à 09:54:12    

gfive a écrit :

ben, regarde la signature de la méthode!!!
 
 

Code :
  1. remove
  2. public boolean remove(Object o)
  3. Removes the first occurrence in this list of the specified element (optional operation). If this list does not contain the element, it is unchanged. More formally, removes the element with the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))) (if such an element exists).
  4. Specified by:
  5. remove in interface Collection
  6. Parameters:
  7. o - element to be removed from this list, if present.Returns:
  8. true if this list contained the specified element.Throws:
  9. UnsupportedOperationException - if the remove method is not supported by this list.

 
 
Elle te retourne un booléen, cette méthode....Boolay, hein??


 
...Quel rapport ?  :??:


Message édité par El_gringo le 19-12-2002 à 09:54:53
Reply

Marsh Posté le 19-12-2002 à 10:12:13    

oops, au temps pour moi (ouais, je sais, ça fait bizarre, d'habitude, j'écris autant pour moi, mais je me suis fait engueuler par un érudit comme quoi, on PEUT écrire "autant", mais on DEVRAIT écrire "au temps" ) je croyais que tu trouvais zarb que ta méthode ne RETOURNE pas un objet!
 
Donc, ben si elle retire pas d'ovjet, ça doit être qu'il n'y est pas!!  
 
Essaie de logger le résultat : si tu as un "false", c'est que l'objet n'y était pas...

Reply

Marsh Posté le 19-12-2002 à 10:19:14    

La prochaine fois, ça serai cool de bien lire avant de traiter qqn de boulet... 'fin bref, merci qd même de t'interresser à mon pb.
En fait, le truc c'est que j'avais le bout de code suivant :

Code :
  1. List list = new Vector();
  2. // Aillleurs
  3. list.remove (object);


ça marchait très bien. Et maintenant, j'ai :

Code :
  1. List list = new ArrayList(90);
  2. // Aillleurs
  3. list.remove (object);


Et ça marche plus

Reply

Marsh Posté le 19-12-2002 à 10:24:02    

:D le boolay, c'était pour faire un jeu de mot à la con entre "booléen" et "boolay, hein"!! :D
Enfin bon....Donc, ça marche pas, mais elle te réponds quoi, la méthode??? true ou false??

Reply

Marsh Posté le 19-12-2002 à 10:28:07    

gfive a écrit :

oops, au temps pour moi (ouais, je sais, ça fait bizarre, d'habitude, j'écris autant pour moi, mais je me suis fait engueuler par un érudit comme quoi, on PEUT écrire "autant", mais on DEVRAIT écrire "au temps" )


 
[Maitre Capello]
C'est contesté [:ddr555] Pour ma part, je préfère l'orthographe usuelle du "autant" qui a beaucoup plus de sens. De toute façon, c'est super mode en ce moment d'écrire "au temps". Même si de grandes instances estiment que l'origine est "au temps", cela reste non prouvé. cf http://www.langue-fr.net/index/A/au_temps-autant.htm
[/Maitre Capello]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 19-12-2002 à 11:03:39    

El_Gringo a écrit :

Le seul changement que j'ai fait, c'est que, à un endroit ou j'utilisait un Vector, j'utilise maintenant une ArrayList (par l'interface List).
Depuis ce changement, la méthode remove (Objet obj) de ma List ne retire plus un Objet, alors que quand ma List était un Vector, ça fonctionnait très bien. Ce client a la JRE du JDK 1.4.0


 
est ce que tu peux avoir plusieurs fois le meme élément dans cette liste?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 19-12-2002 à 11:39:04    

gfive a écrit :

:D le boolay, c'était pour faire un jeu de mot à la con entre "booléen" et "boolay, hein"!! :D
Enfin bon....Donc, ça marche pas, mais elle te réponds quoi, la méthode??? true ou false??


 
Pour l'instant ce qu'elle me répond, je sais pas. Le truc est installé chez le client.
Sur mon poste, avec le JDK 1.3.1, la même chose fonctionne sans pb (c la seule différence que je vois là...)

Reply

Marsh Posté le 19-12-2002 à 11:41:23    

DarkLord a écrit :


 
est ce que tu peux avoir plusieurs fois le meme élément dans cette liste?


 
C pas bête ça. Mais non, après vérif, c impossible en fait...
Des instances ayant les même valeurs d'attributs sont possibles, ms c pas un pb, vu que les instances sont différentes (un new est fait pr chaque élément inséré)

Reply

Marsh Posté le 19-12-2002 à 11:41:23   

Reply

Marsh Posté le 19-12-2002 à 15:47:46    

étonnant, non ?

Reply

Marsh Posté le 19-12-2002 à 15:50:12    

sans code et sans exemple sous la main j'arrete de faire des suppositions ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 19-12-2002 à 17:03:58    

Ouais, j'comprend. Ms le code est tellement simple. On dirait que la méthode "boolean remove (Object o)" de ArrayList ne fonctionne pas dans le JDK 1.4.0_1. Ms c impossible j'pense. Enfin, du coup j'vais remettre mon Vector, avec lequel ça marchait, tant pis.
Merci qd même  :hello:

Reply

Marsh Posté le 19-12-2002 à 17:09:01    

El_Gringo a écrit :

Ouais, j'comprend. Ms le code est tellement simple. On dirait que la méthode "boolean remove (Object o)" de ArrayList ne fonctionne pas dans le JDK 1.4.0_1. Ms c impossible j'pense. Enfin, du coup j'vais remettre mon Vector, avec lequel ça marchait, tant pis.
Merci qd même  :hello:  


 
si tu as l'occassion de me filer un bout de code + un exemple à lancer (bug reproductible) ca m'intéresserait de voir ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 19-12-2002 à 17:16:37    

DarkLord a écrit :


 
si tu as l'occassion de me filer un bout de code + un exemple à lancer (bug reproductible) ca m'intéresserait de voir ...


 
Si tu veux, je t'envois ce qui à l'air de merder.
logiquement c intégré à une servlet, mais tu dois avoir moyen de le faire marcher indépendament, j'vais t'écrire une petite classe de test et t'envoyer ça (au + tard demain). ok?

Reply

Marsh Posté le 19-12-2002 à 17:17:19    

El_Gringo a écrit :


 
Si tu veux, je t'envois ce qui à l'air de merder.
logiquement c intégré à une servlet, mais tu dois avoir moyen de le faire marcher indépendament, j'vais t'écrire une petite classe de test et t'envoyer ça (au + tard demain). ok?


 
oki merci


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 19-12-2002 à 18:17:43    

et pourquoi tu affiches pas ta arraylist avant et après le remove ??? tu verrais ce qui se passe !
 

Code :
  1. System.out.println(taArrayList);

Reply

Marsh Posté le 20-12-2002 à 09:16:38    

benou a écrit :

et pourquoi tu affiches pas ta arraylist avant et après le remove ??? tu verrais ce qui se passe !
 

Code :
  1. System.out.println(taArrayList);




 
Ben j'avais déja une fonction pour afficher le contenu de cette ArrayList. C'est justement ce la seule chose qui me permet de dire que l'objet n'est pas retiré de la ArrayList

Reply

Marsh Posté le 20-12-2002 à 12:32:26    

alors là laisse moi te dire que j'ai un gros gros doute !!! si remove marchait pas, ca se saurait ;)
 
ca m'a tout l'air d'être une erreurALaCon(tm)

Reply

Marsh Posté le 20-12-2002 à 12:37:32    

benou a écrit :

alors là laisse moi te dire que j'ai un gros gros doute !!! si remove marchait pas, ca se saurait ;)
 
ca m'a tout l'air d'être une erreurALaCon(tm)


 
pq tu crois que je veux avoir un code + exemple ... :D


Message édité par darklord le 20-12-2002 à 12:37:38

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-12-2002 à 14:24:16    

Oui, sans doute que c une erreurALaCon, mais c qd même étonnant : ça marche dans mon environnement et dans un environnement de test (même JDK, même Tomcat, même version de ma web-app). ça marche pas chez le client. c chiant ces situations...

Reply

Marsh Posté le 20-12-2002 à 16:29:37    

El_Gringo a écrit :

Oui, sans doute que c une erreurALaCon, mais c qd même étonnant : ça marche dans mon environnement et dans un environnement de test (même JDK, même Tomcat, même version de ma web-app). ça marche pas chez le client. c chiant ces situations...


 
ah ca marche chez toi mais pas chez le client? ... Ca change vachement la donne alors ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-12-2002 à 16:53:17    

DarkLord a écrit :


 
ah ca marche chez toi mais pas chez le client? ... Ca change vachement la donne alors ...


 
Ouais, ms si ça s'trouve c le client qui utilise mon truc n'importe comment, et qui m'a raconté n'importe quoi. ça arrive desfois. g encore pas pu cerner le pb au tel. g été obligé de me fier à ce qu'il dit...

Reply

Marsh Posté le 20-12-2002 à 17:12:32    

bin justement tu aurais pu commencer par ca au lieu de nous faire chercher une raison logique  :sarcastic:  
 
je trouve que c'est un peu foutage de gueule ton topic là ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-12-2002 à 17:54:05    

+1

Reply

Marsh Posté le 23-12-2002 à 08:38:48    

:jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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