Comparaison de valeur dans un arraylist

Comparaison de valeur dans un arraylist - Java - Programmation

Marsh Posté le 19-03-2006 à 17:35:53    

Bonjour je cherche à comparer les valeurs de deux arraylist entre elles; mon code ne me renvoie rien du tout... une idée?
 
for(int pos = 0; pos < Liste1.size(); pos++)
         {
       
       
       
       if(Liste1.get(pos).equals(Liste2.get(pos)))  
       {
        System.out.println("OK" );
       }  
     }

Reply

Marsh Posté le 19-03-2006 à 17:35:53   

Reply

Marsh Posté le 19-03-2006 à 18:44:12    

1) ta question n'est pas claire.
2) si tu ne sais pas faire un truc si simple, il n'est pas encore temps de poser des questions dans un forum, retourne à ton bouquin ou à tes cours.


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

Marsh Posté le 19-03-2006 à 18:53:28    

1/Le fait est que je n'ai pas de bouquins, ni de cours traitant ce sujet.  
2/Je n'arrive pas à trouver d'information pertinentes sur internet, explique moi comment pourrais je trouver la solution en dehors de l'utilisation d'un forum?  
 
Je cherche à comparer l'égalité de la valeur int de la position 0 de l'arraylist1 avec la valeur int de la position 0 de l'arraylist2. Il y a surement une histoire de cast à faire mais je n'arrive à rien.  
 
Si tu ne comprends toujours pas, voilà un dessin:
 
Arraylist1: 0 1 2 3 4
Arraylist2: 0 3 2 5 4
 
Je cherche à voir si 0=0, ou 1=3, etc...
 
Avec des réponses comme les tiennes, j'ai de grandes chances de rester au même niveau et d'emmerder plus longtemps la communauté.

Reply

Marsh Posté le 19-03-2006 à 18:58:50    

Tu t'es posé des questions sur ton code pour essayer de découvrir pourquoi il ne fonctionnait pas, déjà?
 
Ce serait peut-être une bonne idée non?


Message édité par masklinn le 19-03-2006 à 19:06:59

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-03-2006 à 19:01:35    

un forum c'est pas fait pour des cours particulier : ce n'est pas adapté.
Trouve toi des cours ou des bouquins sur internet, ca ne manque pas ! Je te promet que ce sera beaucoup plus efficace pour toi.
 
De plus, je n'ai toujours pas compris quel était ta question. Elle doit faire quoi ton code ? ecrire ok à chaque fois que 2 objets sont identiques ? je vois pas bien l'intérêt ... C'est quoi que tu attends de ton bout de code ?
 
 
PS : étant modérateur de ce forum, je te promet que si tu ne fait que "emmerder [...] la communauté", tu ne vas pas faire long feu ...

Message cité 1 fois
Message édité par benou le 19-03-2006 à 19:02:20

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

Marsh Posté le 19-03-2006 à 19:09:22    

benou a écrit :

De plus, je n'ai toujours pas compris quel était ta question. Elle doit faire quoi ton code ? ecrire ok à chaque fois que 2 objets sont identiques ? je vois pas bien l'intérêt ... C'est quoi que tu attends de ton bout de code ?


Il veut comparer les éléments successifs de deux listes pour savoir si deux objets au même endroit dans les deux listes sont égaux.
 
Pour clarifier, en python ça donnerait
 

Code :
  1. >> l1 = [0, 1, 2, 3, 4]
  2. >> l2 = [0, 3, 2, 5, 4]
  3. >>> for i, a, b in zip(count(), l1, l2):
  4.     if a == b: print "Elements égaux à l'indice %d"%(i)
  5.     else: print "Elements différents à l'indice %d"%(i)
  6.  
  7. "Elements égaux à l'indice 0"
  8. "Elements différents à l'indice 1"
  9. "Elements égaux à l'indice 2"
  10. "Elements différents à l'indice 3"
  11. "Elements égaux à l'indice 4"


Message édité par masklinn le 19-03-2006 à 19:12:25

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-03-2006 à 19:12:58    

je sais ce qu'il vaut faire, mais je ne sais pas de quel façon il veut le faire : là son code fait rien d'autre que d'ecrire ok quand 2 trucs sont égaux. J'imagine que c'est pas ça son but. Sinon il est remplit (sauf le cas des null, mais on en est pas là j'ai l'impression)


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

Marsh Posté le 19-03-2006 à 19:15:08    

Je pense que les forums sont fait justement pour traiter des cas précis, pour les cas généraux, il y a les bouquins...
De plus, le fait de juger l'utilité du code est plutot stupide. En effet, cette boucle s'incrit dans le traitement  d'un programme, et donc je ne vois pas pourquoi tu juges l'intérêt de ce bout de code.
Pour ce qui est d'emmerder la communauté, c'est bien ce que tu me reproches de faire en demandant des réponses à une question "simpliste", personnellement, ce n'est pas mon but.
 
Enfin, si tu n'arrives toujours pas à comprendre quelle est ma question, soit je suis vraiment  tres mauvais dans l'art de décrire un probleme, soit  cela vient de toi...
 
J'ai essayé de caster l'objet retourné en int:
 
for(int pos = 0; pos < List1.size(); pos++)
         {
       
       Integer element = (Integer)List1.get(pos);
       Integer element2 = (Integer)List2.get(pos);
       
       if(element==element2)  
       {
         
        System.out.println("N" );
       }  
           }
 
Mais à l'execution, une erreur survient:
 
Exception in thread "main" java.lang.ClassCastException: java.lang.String
 
Je me donne donc le droit de demander de l'aide sur un forum.

Reply

Marsh Posté le 19-03-2006 à 19:18:25    

ido- a écrit :

Enfin, si tu n'arrives toujours pas à comprendre quelle est ma question, soit je suis vraiment  tres mauvais dans l'art de décrire un probleme, soit  cela vient de toi...
 
J'ai essayé de caster l'objet retourné en int:
 

Code :
  1. for(int pos = 0; pos < List1.size(); pos++)
  2.            {
  3.                
  4.                Integer element = (Integer)List1.get(pos);
  5.                Integer element2 = (Integer)List2.get(pos);
  6.                
  7.                if(element==element2)
  8.                {
  9.                    
  10.                    System.out.println("N" );
  11.                }    
  12.           }


 
Mais à l'execution, une erreur survient:
 
Exception in thread "main" java.lang.ClassCastException: java.lang.String
 
Je me donne donc le droit de demander de l'aide sur un forum.


En clair tu fais n'importe quoi et tu te demandes pourquoi ça marche pas :sweat:  
 
Si tu lisais le message du compilateur tu réaliserais peut-être que tu tentes de caster un String en Integer, Java c'est pas PHP hein, des insanités pareilles il ne les accepte pas [:pingouino]
 
Ah, et accessoirement int != Integer, mais ça tu le saurais si tu avais lu un minimum de docs genre le Java tutorial ou Thinking in Java [:boulax]


Message édité par masklinn le 19-03-2006 à 19:18:51

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-03-2006 à 19:21:15    

Les données contenues dans l'arraylist sont des int. Lorsque j'essaye de caster en int, le compilateur me renvoit "inconvertible types".
 
Lorsque j'essaye de caster en String, le compilateur me renvoit:
 
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer

Reply

Marsh Posté le 19-03-2006 à 19:21:15   

Reply

Marsh Posté le 19-03-2006 à 19:23:43    

1) tu es vraiment très mauvais dans l'art de décrire un probleme. Tu remarqueras d'ailleur qu'entre tes 2 posts ton code a changé, et que dans le 2e on dicerne enfin un problème à résoudre. Par contre on ne sait toujours pas quel est l'objectif de ton bout de code : déterminer si tes deux listes sont égales ? trouver l'index du premier objet indégale ? autre ?
2) Ton ton ne me plait pas du tout ... soit tu en changes, soit tu dégages.
3) concernant ton problème, puisqu'on le connait enfin, comme le laisse comprendre le message d'erreur, tu as une String dans ta liste et toi tu essayes de la caster en Integer. Forcément ca plante => à toi de mettre le bon type d'objet dans ta liste. (comme on ne voit pas comment tu la remplis, je ne peux pas t'en dire plus)
Ensuite la comparaison de deux Integer ca se fait avec la méthode equals() et pas avec == (qui ne fonctionne que pour les types primitifs ou les tests d'égalités de référence)
 


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

Marsh Posté le 19-03-2006 à 19:26:26    

ido- a écrit :


Lorsque j'essaye de caster en String, le compilateur me renvoit:
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer


Si un coup ca te gueule dessus parce que c'est des String et lautre coup parce que c'est des Integer, c'est surement que tu as des objets des 2 types dans ta liste ...


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

Marsh Posté le 19-03-2006 à 19:29:40    

ido- a écrit :

Les données contenues dans l'arraylist sont des int.
 
 Lorsque j'essaye de caster en int, le compilateur me renvoit "inconvertible types".


Franchement, ça te dirait pas d'apprendre le java [:petrus dei]
 
Non parce que là comme je le disais au dessus tu fais n'importe quoi et tu te demandes pourquoi ça marche pas.
 
Il y a un nom pour ça, ça s'appelle le cargo cult programming


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-03-2006 à 19:30:16    

Hélas, je n'utilise ce ton que lorsque qu'il est utilisé contre moi. Fais attention à ce que ton status de modérateur n'exacerbe pas trop ton ego
:/
 
Et non, je n'ai que des int dans ma liste, c'est pourquoi je ne comprends pas l'erreur : |

Reply

Marsh Posté le 19-03-2006 à 19:34:08    

ido- a écrit :

Hélas, je n'utilise ce ton que lorsque qu'il est utilisé contre moi. Fais attention à ce que ton status de modérateur n'exacerbe pas trop ton ego
:/
 
Et non, je n'ai que des int dans ma liste, c'est pourquoi je ne comprends pas l'erreur : |


Et si tu montrais le code initialisant les listes?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-03-2006 à 19:37:45    

ido- a écrit :

Hélas, je n'utilise ce ton que lorsque qu'il est utilisé contre moi. Fais attention à ce que ton status de modérateur n'exacerbe pas trop ton ego
:/


c'est ma patience que tu exacerbes  :fou:  
 

ido- a écrit :

Et non, je n'ai que des int dans ma liste, c'est pourquoi je ne comprends pas l'erreur : |


Evite les affirmations, ca fait très prétentieux pour un débutant.
une ArrayList ne peut contenir que des objets, pas des types primitifs => ce que tu dis est faux.
Et même en faisant abstraction de ça et en imaginant qu'elle ne contienne que des Integer, le message d'erreur que tu obtiens (ClassCast : String) prouve que tu te trompes.


Message édité par benou le 19-03-2006 à 19:40:23

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

Marsh Posté le 19-03-2006 à 19:50:35    

C'est exact: j'ai des string issue d'une méthode ToSplit (qui ne découpe en fait que des nombres entrés au clavier) [Je viens juste de calculer que les données rentrées étaient considérées comme des string)
 
Mais ayant casté les données issues des deux listes en String, et les comparant avec .equals, je ne devrais pas rencontrer ce message non ?

Reply

Marsh Posté le 19-03-2006 à 19:53:24    

non ce qui me fait dire que tu as des objets de 2 types différents dans ta liste. T'as qu'à tester leur type [:spamafote]
 
 
(Tu te rends compte que ce qu'on fait là c'est de te dire point par point ce  que tu pourrais trouver tout seul en faisant quelques tests ... c'est pour ça que je dis que c'est pas adapté les forums pour les tout débuts et pour des problèmes de ce type)


Message édité par benou le 19-03-2006 à 20:19:27

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

Marsh Posté le 19-03-2006 à 20:40:37    

ido- a écrit :

Mais ayant casté les données issues des deux listes en String, et les comparant avec .equals, je ne devrais pas rencontrer ce message non ?


 
FAUX!
 
La méthode "equals" permet de vérifier si deux variables font référence au même objet. Or là, tu as deux objets String différents; même si le contenu des String est identique, ce sont deux objets distincts, donc la méthode "equals" va te renvoyer false.  
 
Ce que tu as besoin de faire , c'est comparer le contenu de tes deux String; cela ce fait de la manière suivante:
 

Code :
  1. String s1 = (String)Liste1.get(pos);
  2. String s2 = (String)Liste2.get(pos);
  3. if( s1.compareTo(s2) == 0 )
  4. {
  5. System.out.println("OK" );
  6. }

Reply

Marsh Posté le 19-03-2006 à 22:11:45    

post_it a écrit :

La méthode "equals" permet de vérifier si deux variables font référence au même objet.


Ta drogue a l'air super, je peux en avoir aussi?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-03-2006 à 22:30:25    

post_it a écrit :


La méthode "equals" permet de vérifier si deux variables font référence au même objet. Or là, tu as deux objets String différents; même si le contenu des String est identique, ce sont deux objets distincts, donc la méthode "equals" va te renvoyer false.


bha non, ca c'est le comparator ==


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

Marsh Posté le 19-03-2006 à 22:38:51    

Ok, voilà le topo: j'ai un arraylist avec dedans des nombres issue d'une entrée clavier donc en String, et une autre ou ce sont des nombres rentrés en int dedans. Lorsque je compare avec equals de la facon:  
 
for(int pos=0; pos < GenList.size(); pos++)
         {
       
       Object s1 = (Object)List1.get(pos);
       Object s2 = (Object)List2.get(pos);
       
   
   if(s1.equals(s2))
       {
         
        System.out.println("vrai" );
       }  
                 else{
                        System.out.println("faux" )}
 
 
             }
 
Cela me renvoit faux, même lorsque les deux valeurs sont les mêmes. Avec la methode de post_it, le compilateur me répond que les types sont différents.
Pourtant, en reprenant ma technique de départ avec les objects, les deux valeurs sorties sont bien des Objects, donc si je les comparent ca devrait marcher, où est le probleme?

Message cité 1 fois
Message édité par ido- le 19-03-2006 à 22:48:45
Reply

Marsh Posté le 19-03-2006 à 22:49:02    

Je crois avoir demandé la manière dont tu initialises tes listes [:kiki]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-03-2006 à 22:49:42    

ido- a écrit :

Cela me renvoit faux, même lorsque les deux valeurs sont les mêmes. Avec la methode de post_it, le compilateur me répond que les types sont différents.
Pourtant, les deux valeurs sorties sont bien des Objects? Ou est le probleme?


Les vaches et les canards ont bien 2 yeux tous deux, se sont pourtant des animaux. Mais ils ne sont pas égaux, où est le problème ?


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 19-03-2006 à 22:52:01    

Ok, donc cela veut dire que j'ai beau les caster cela ne sert a rien? ils ne sont pas comparables?

Reply

Marsh Posté le 19-03-2006 à 22:54:22    

Masklinn:
 
ArrayList List1 = new ArrayList();
ArrayList List2 = new ArrayList();
 

Reply

Marsh Posté le 19-03-2006 à 22:56:27    

ido- a écrit :

Ok, donc cela veut dire que j'ai beau les caster cela ne sert a rien? ils ne sont pas comparables?


La lecture attentive de la doc te donnera tous les éléments nécessaires pour récupérer un int à partir d'un String ou inversement.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 19-03-2006 à 23:49:50    

ido- a écrit :

Masklinn:
 
ArrayList List1 = new ArrayList();
ArrayList List2 = new ArrayList();


[:pingouino]
 
Hum, comment dire, l'initialisation ça comprenait le remplissage, parce que j'me doute bien que tu tapes un new, je m'attendais pas à ce que tu passes par un l33t Arrays.asList quoi [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 20-03-2006 à 00:10:33    

gm_superstar a écrit :

La lecture attentive de la doc te donnera tous les éléments nécessaires pour récupérer un int à partir d'un String ou inversement.


j'aide : ca se trouve dans la classe Integer


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

Marsh Posté le 20-03-2006 à 00:20:25    

ido- a écrit :

Ok, donc cela veut dire que j'ai beau les caster cela ne sert a rien? ils ne sont pas comparables?


non, ca veut dire que tu compares des String et des Integer, et qu'ils ne peuvent donc pas être égaux.


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

Marsh Posté le 20-03-2006 à 10:50:02    

masklinn a écrit :

Ta drogue a l'air super, je peux en avoir aussi?


 
http://java.sun.com/j2se/1.5.0/docs/api/

Citation :


The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).


 
Mais bon, j'dis ça, j'dis rien!...

Reply

Marsh Posté le 20-03-2006 à 11:03:34    

post_it a écrit :

http://java.sun.com/j2se/1.5.0/docs/api/

Citation :


The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).


 
Mais bon, j'dis ça, j'dis rien!...


Fail for stupid [:dawa]
http://java.sun.com/j2se/1.5.0/doc [...] ng.Object)

Citation :

public boolean equals(Object obj)
 
    Compares this object to the specified object. The result is true if and only if the argument is not null and is an Integer object that contains the same int value as this object.


http://java.sun.com/j2se/1.5.0/doc [...] ng.Object)

Citation :

public boolean equals(Object anObject)
 
    Compares this string to the specified object. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object.


 
Réfléchis 30 secondes et tu devrais comprendre la raison de l'implémentation par défaut d'equals [:dawa]
 
Et accessoirement
http://java.sun.com/j2se/1.5.0/doc [...] ng.String)

Citation :

public int compareTo(String anotherString)
 
    Compares two strings lexicographically. The comparison is based on the Unicode value of each character in the strings. The character sequence represented by this String object is compared lexicographically to the character sequence represented by the argument string. The result is a negative integer if this String object lexicographically precedes the argument string. The result is a positive integer if this String object lexicographically follows the argument string. The result is zero if the strings are equal; compareTo returns 0 exactly when the equals(Object) method would return true.
[snip]


 
Oh, snap [:dawa]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 20-03-2006 à 11:26:59    

OK, je m'incline !  
 :jap:

Reply

Marsh Posté le 03-08-2006 à 02:51:13    

Ouch... étant noob moi-même, ce forum fait vraiment peur...
 
Vous connaissez un autre forum moins élitiste avec des bénévoles qui aident vraiment les débutants ?
 
Je passe plus de temps à lire des cours de programmation qu'à lire des forums, mais je tombe souvent sur des cas particuliers non traités dans les bouquins ou dans les cours...
 
Vais tenter sur developpez.net
 

Reply

Marsh Posté le 06-08-2006 à 23:40:18    

Bonsoir ido-,
Ci joint un exemple de code qui je pense répondra a ton probleme.
Pour terminer mon message, je me permets de dire que l'attitude de certains me font vomir.  
Nottement la remarque :  
 

Citation :

PS : étant modérateur de ce forum, je te promet que si tu ne fait que "emmerder [...] la communauté", tu ne vas pas faire long feu ...


 
ne serait-ce pas un abus de pouvoir? Je trouve que meme si une question sur un forum peut paraitre bête, ceci ne donne pas le droit d'insulter la personne. Insulter les gens, ca ne fait pas avancer la "communauté". Tout le monde a débuté un jour ou l'autre et je trouve que c'est dommage que certains prennent de haut les personnes débutantes. Cette attitude ne motive pas à poster des messages(comme le dit 007seb), si c'est pour après se faire insulter.
 
J'ai termine ma remarque et voici le code (qui peut etre critique):  
 

Code :
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. public class TestCompare {
  4. /**
  5.  * Exemple de comparaison de 2 listes de String  
  6.  * (contenant des valeurs int).
  7.  * ATTENTION cet example ne fonctionne pas
  8.  * si une des listes contient autre chose que des  
  9.  * String (contenant des valurs de int)
  10.  */
  11. public static void main(String[] args) {
  12.  List list1 = new ArrayList();
  13.  list1.add("0" );
  14.  list1.add("1" );
  15.  list1.add("2" );
  16.  list1.add("3" );
  17.  list1.add("4" );
  18.  List list2 = new ArrayList();
  19.  list2.add("0" );
  20.  list2.add("3" );
  21.  list2.add("2" );
  22.  list2.add("5" );
  23.  list2.add("4" );
  24.  boolean compareResult = compareList(list1, list2);
  25.  if (compareResult) {
  26.   System.out.println("Les 2 listes sont identiques." );
  27.  }
  28.  else {
  29.   System.out.println("Les 2 listes NE sont PAS identiques." );
  30.  }
  31. }
  32. /**
  33.  * Retourne true si les listes de String list1 et list2  
  34.  * ont des String (de int) identiques et false sinon.
  35.  * @param list1
  36.  * @param list2
  37.  * @return
  38.  */
  39. public static boolean compareList(List list1, List list2) {
  40.  // test si les 2 listes ont la meme taille
  41.  if (list1.size() != list2.size())
  42.   return false;
  43.  // parcours des items de list1 et list2  
  44.  for (int i = 0; i < list1.size(); i++) {
  45.   String s1 = (String)list1.get(i);
  46.   String s2 = (String)list2.get(i);
  47.   // Transformation de tes String
  48.   // en int
  49.   int i1 = Integer.parseInt(s1);
  50.   int i2 = Integer.parseInt(s2);
  51.   if(i1 != i2) {
  52.    return false;
  53.   }
  54.  }
  55.  return true;
  56. }
  57. }


 
Angelo

Reply

Marsh Posté le 07-08-2006 à 00:00:52    

Je n'avais pas vu que dans ta liste tu avais des Integer et des String. Voici le code qui permet de gerer une liste de Integer et/ou String :  
 

Code :
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. public class TestCompare {
  4. /**
  5.  * Exemple de comparaison de 2 listes de String  
  6.  * (contenant des valeurs int) OU des Integer.
  7.  * ATTENTION cet example ne fonctionne pas
  8.  * si une des listes contient autre chose que des  
  9.  * String (contenant des valurs de int)
  10.  */
  11. public static void main(String[] args) {
  12.  List list1 = new ArrayList();
  13.  list1.add("0" );
  14.  list1.add("1" );
  15.  list1.add(new Integer(2)); // <= Type Integer
  16.  list1.add("3" );
  17.  list1.add("4" );
  18.  List list2 = new ArrayList();
  19.  list2.add("0" );
  20.  list2.add("1" );
  21.  list2.add("2" );
  22.  list2.add("3" );
  23.  list2.add("4" );
  24.  boolean compareResult = compareList(list1, list2);
  25.  if (compareResult) {
  26.   System.out.println("Les 2 listes sont identiques." );
  27.  }
  28.  else {
  29.   System.out.println("Les 2 listes NE sont PAS identiques." );
  30.  }
  31. }
  32. /**
  33.  * Retourne true si les listes de String list1 et list2  
  34.  * ont des String (de int) OU des Integer identiques et false sinon.
  35.  * @param list1
  36.  * @param list2
  37.  * @return
  38.  */
  39. public static boolean compareList(List list1, List list2) {
  40.  // test si les 2 listes ont la meme taille
  41.  if (list1.size() != list2.size())
  42.   return false;
  43.  // parcours des items de list1 et list2  
  44.  for (int i = 0; i < list1.size(); i++) {
  45.   Object o1 = list1.get(i);
  46.   Object o2 = list2.get(i);
  47.   int i1 = getInt(o1);
  48.   int i2 = getInt(o2);
  49.   if(i1 != i2) {
  50.    return false;
  51.   }
  52.  }
  53.  return true;
  54. }
  55. /**
  56.  * retourne la valeur int de l'objet o qui doit etre une
  57.  * String (de valeur int) ou un Integer.
  58.  * @param o
  59.  * @return
  60.  */
  61. private static int getInt(Object o) {
  62.  if(o instanceof String) {
  63.   return Integer.parseInt((String)o);
  64.  }
  65.  else {
  66.   if(o instanceof Integer) {
  67.    return ((Integer)o).intValue();
  68.   }
  69.  }
  70.  return -1;
  71. }
  72. }


 
Angelo

Reply

Marsh Posté le 24-04-2019 à 23:23:12    

Je suis venue chercher des réponses à un problème similaire sur ce forum et franchement, je trouve cela honteux la façon dont vous parlez à ceux qui sont débutants ou les non débutants qui ont des lacunes ou qui rencontrent tout simplement un problème basique. Vous vous croyez tout puissant avec votre statut de modérateur ou est-ce que c'est votre savoir en codage qui vous donne cette arrogance? Et vu le nombre de commentaires qui supportent cet avis (angelo77 et 007seb par exemple), c'est que je ne suis pas la seule à le penser et vous devriez allez vous cacher avec un comportement aussi abusif et irrespectueux!

Reply

Marsh Posté le 25-04-2019 à 09:10:30    

Bonjour,
 
Est-ce vraiment pertinent de réagir 13 ans plus tard ? Quel est l'intérêt de votre message ? Un forum n'est pas un défouloir émotionnel, gardez votre frustration pour vous et tout le monde s'en portera mieux.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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