Je reviens juste sur ce point. Désolé de t'envoyer autant de messages. :(
Mais comme tu prend le temps de répondre (et plutôt agréablement) :
Si je dois calculer la moyenne sur une liste qui ne contient pas que des nombres, alors soit j'ai mal designé mon architecture
Hey, mais c'est pas moi qui pose cette contrainte à la base, c'est l'OP :(
Par ailleurs, dans mon métier, j'en ai vu plein des tableaux faits à la va-vite sous excel qui contiennent du coup dans une seule colonne un peu de types mixés et qu'il faut quand-même traiter.
Je ne parle même pas des formules dans des cellules, là, j'abandonne.
Je suppose que tu vas toujours pas être content de ma solution, mais c'est pas grave.
importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Collection;importjava.util.Iterator;importjava.util.LinkedList;importjava.util.List;publicclassClassA{// here, you just say what types are acceptedprivateclassClassB<IextendsInteger,SextendsString>implementsIterable{// it's a bit more wrapping, but for the funprivateCollectionc;publicClassB(Collectionc){// we could do better, just a bit of safety hereif(!c.isEmpty())c.clear();this.c=c;}privatevoidadd(Classc,Object...params)throwsException{this.c.addAll(checkIn(c,params));}// here we can do a bunch of checks. Choose your own. It's just the entry gateprivateCollection<Object>checkIn(Classc,Object...params)throwsException{if(params.length==1&¶ms[0].getClass().equals(c))returnArrays.asList(params[0]);//a bit ugly here. Something better can be doneif(params[0].getClass().equals(c)){returnArrays.asList(params);}thrownewException("You shall not pass!");}publicvoidaddInt(Ii)throwsException{add(i.getClass(),i);}publicvoidaddManyInts(I...i)throwsException{add(i[0].getClass(),i);}publicvoidaddString(Ss)throwsException{add(s.getClass(),s);}publicvoidaddManyStrings(S...s)throwsException{add(s[0].getClass(),s);}publicintsize(){returnc.size();}privateintgetNumerOfBidules(Classc){intr=0;for(Objecto:this.c){if(c.isInstance(o))r++;}returnr;}publicCollectionfilter(Classc){Listr=newArrayList();for(Objecto:this.c){if(c.isInstance(o))r.add(o);}returnr;}publicIteratoriterator(){returnc.iterator();}}publicstaticvoidmain(String[]args)throwsException{ClassAa=newClassA();a.doThings();}publicvoiddoThings()throwsException{ClassB<Integer,String>maListeDeBidules=newClassB<>(newLinkedList());maListeDeBidules.addInt(1);// okmaListeDeBidules.addString("deux");// okmaListeDeBidules.addManyInts(3,4,5,6,7,8);// okmaListeDeBidules.addManyStrings("neuf","dix","onze","douze","treize","quatorze");// okinti=0;for(Objecto:maListeDeBidules){System.out.println("mon bidule "+(i+1)+" : "+o);i++;}System.out.println("La moyenne dans ma liste de bidules est de : "+this.getMean(maListeDeBidules));// here we go!ClassB<Integer,String>maListeDeBidules2=newClassB<>(newArrayList());for(i=0;i<10000000;i++)maListeDeBidules2.addInt(i);}publicdoublegetMean(ClassBb)throwsException{Classc=Number.class;intn=b.getNumerOfBidules(c);if(n==0)thrownewException("Maybe you want numbers...");doublemean=0;for(Objectv:b.filter(c)){mean+=((Number)v).doubleValue()/n;}returnmean;}}
Voilà, c'est ok pour tout ce qui est collection.
J'en ai profité pour retirer le calcul de la moyenne de ClassB (rien à faire là dedans).
importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Collection;importjava.util.List;publicclassClassA{// here, you just say what types are acceptedprivateclassClassB<IextendsInteger,SextendsString>{// it's a bit more wrapping, but for the funprivateList<Object>l;publicClassB(){l=newArrayList<Object>();}privatevoidadd(Classc,Object...params)throwsException{l.addAll(checkIn(c,params));}// here we can do a bunch of checks. Choose your own. It's just the entry gateprivateCollection<?extendsObject>checkIn(Classc,Object...params)throwsException{if(params.length==1&¶ms[0].getClass().equals(c))returnArrays.asList(params[0]);//a bit ugly here. Something better can be doneif(params[0].getClass().equals(c)){returnArrays.asList(params);}thrownewException("You shall not pass!");}publicvoidaddInt(Ii)throwsException{add(i.getClass(),i);}publicvoidaddManyInts(I...i)throwsException{add(i[0].getClass(),i);}publicvoidaddString(Ss)throwsException{add(s.getClass(),s);}publicvoidaddManyStrings(S...s)throwsException{add(s[0].getClass(),s);}publicObjectget(inti){returnl.get(i);}publicintsize(){returnl.size();}privateintgetNumerOfNumbers(){intr=0;for(Objecto:l){if(oinstanceofNumber)r++;}returnr;}// here we just want to do something more subtle than printpublicdoublegetMean()throwsException{intsum=this.getNumerOfNumbers();if(sum==0)thrownewException("Maybe you want numbers...");doublemean=0;for(Objecto:l){if(oinstanceofNumber){mean+=((Number)o).doubleValue()/sum;}}returnmean;}}publicstaticvoidmain(String[]args)throwsException{ClassAa=newClassA();a.doThings();}publicvoiddoThings()throwsException{ClassB<Integer,String>maListeDeBidules=newClassB<>();maListeDeBidules.addInt(1);// okmaListeDeBidules.addString("deux");// okmaListeDeBidules.addManyInts(3,4,5,6,7,8);// okmaListeDeBidules.addManyStrings("neuf","dix","onze","douze","treize","quatorze");// okfor(inti=0;i<maListeDeBidules.size();i++)System.out.println("mon bidule "+(i+1)+" : "+maListeDeBidules.get(i));System.out.println("La moyenne dans ma liste de bidules est de : "+maListeDeBidules.getMean());// here we go!ClassB<Integer,String>maListeDeBidules2=newClassB<>();for(inti=0;i<10000000;i++)maListeDeBidules2.addInt(i);}}
Et le tien que j'ai modifié un tout petit peu (le moins possible) pour faire un petit tour sur une grosse liste d'entiers.
Comme tu as le courage de répondre, j'ai complété un peu les choses, modifié deux ou trois trucs, pour une nouvelle version.
L'exo se complexifie, on ne fait plus de print (ça, c'est un peu trop facile), mais une moyenne (ça pourrait être du max, du min, peu importe).
importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Collection;importjava.util.List;publicclassClassA{// here, you just say what types are acceptedprivateclassClassB<IextendsInteger,SextendsString>{// it's a bit more wrapping, but for the funprivateList<Object>l;publicClassB(){l=newArrayList<Object>();}privatevoidadd(Classc,Object...params)throwsException{l.addAll(checkIn(c,params));}// here we can do a bunch of checks. Choose your own. It's just the entry gateprivateCollection<?extendsObject>checkIn(Classc,Object...params)throwsException{if(params.length==1&¶ms[0].getClass().equals(c))returnArrays.asList(params[0]);//a bit ugly here. Something better can be doneif(params[0].getClass().equals(c)){returnArrays.asList(params);}thrownewException("You shall not pass!");}publicvoidaddInt(Ii)throwsException{add(i.getClass(),i);}publicvoidaddManyInts(I...i)throwsException{add(i[0].getClass(),i);}publicvoidaddString(Ss)throwsException{add(s.getClass(),s);}publicvoidaddManyStrings(S...s)throwsException{add(s[0].getClass(),s);}publicObjectget(inti){returnl.get(i);}publicintsize(){returnl.size();}privateintgetNumerOfNumbers(){intr=0;for(Objecto:l){if(oinstanceofNumber)r++;}returnr;}// here we just want to do something more subtle than printpublicdoublegetMean()throwsException{intsum=this.getNumerOfNumbers();if(sum==0)thrownewException("Maybe you want numbers...");doublemean=0;for(Objecto:l){if(oinstanceofNumber){mean+=((Number)o).doubleValue()/sum;}}returnmean;}}publicstaticvoidmain(String[]args)throwsException{ClassAa=newClassA();a.doThings();}publicvoiddoThings()throwsException{ClassB<Integer,String>maListeDeBidules=newClassB<>();maListeDeBidules.addInt(1);// okmaListeDeBidules.addString("deux");// okmaListeDeBidules.addManyInts(3,4,5,6,7,8);// okmaListeDeBidules.addManyStrings("neuf","dix","onze","douze","treize","quatorze");// okfor(inti=0;i<maListeDeBidules.size();i++)System.out.println("mon bidule "+(i+1)+" : "+maListeDeBidules.get(i));System.out.println("La moyenne dans ma liste de bidules est de : "+maListeDeBidules.getMean());}}
J'ai suprimmé mon extends, comme ça, il n'y a que ce que j'expose qui est dispo. Dans la version précédente, j'avais commencé à préparer le boulot, tu vois que maintenant j'ai des méthodes avec varargs et du coup c'est assez pratique pour faire de l'ajout en masse.
Voilà, comme tu m'a donné ta version des choses, j'ai pris un peu plus de temps pour t'en donner encore une autre ;)
Pas sûr qu'elle te plaise toujours plus. Et c'est du POC, donc y'a certainement des choses à faire pour que ça marche mieux.
importjava.util.ArrayList;publicclassClassA{privateclassClassB<IextendsInteger,SextendsString>extendsArrayList<Object>{privatevoidmyAdd(Object...params)throwsException{super.add(checkIn(params));}privateObjectcheckIn(Object...params)throwsException{intc=0;Objecto=null;for(Objectp:params)if(p!=null){c++;o=p;}if(c==0)thrownewException("Je veux un paramètre !");if(c>1)thrownewException("Mais juste un seul !");returno;}publicvoidaddInt(Ii)throwsException{myAdd(i);}publicvoidaddString(Ss)throwsException{myAdd(s);}}publicstaticvoidmain(String[]args)throwsException{ClassAa=newClassA();a.doThings();}publicvoiddoThings()throwsException{ClassB<Integer,String>maListeDeBidules=newClassB<>();maListeDeBidules.addInt(1);// okmaListeDeBidules.addString("deux");// okSystem.out.println("mon bidule 1: "+maListeDeBidules.get(0));System.out.println("mon bidule 2: "+maListeDeBidules.get(1));maListeDeBidules.myAdd(3,"quatre");// pas ok}}
Peut-être que c'est une solution qui se rapprocherait plus de ce que tu veux ? Pas sûr.
En tout cas, dans cette v3, pas d'encapsulation d'objet, on peut étendre, c'est juste un type et une fonction à rajouter…
On n'a pas le même style, mais encore merci pour ta réponse !
Zou. Une version sans null dans la ClasseA, sans le get() inutile, un peu de type checking de plus…
publicclassClassA{privateclassClassB<IextendsInteger,SextendsString>extendsArrayList<Object>{publicvoidmyAdd(Ii,Ss)throwsException{if(i==null&&s==null)thrownewException("Je veux un paramètre !");if(i!=null&&s!=null)thrownewException("Mais juste un seul !");Objecto=null;if(i!=null)o=i;elseo=s;super.add(o);}publicvoidaddInt(Ii)throwsException{myAdd(i,null);}publicvoidaddString(Ss)throwsException{myAdd(null,s);}}publicstaticvoidmain(String[]args)throwsException{ClassAa=newClassA();a.doThings();}publicvoiddoThings()throwsException{ClassB<Integer,String>maListeDeBidules=newClassB<>();maListeDeBidules.addInt(1);// okmaListeDeBidules.addString("deux");// okSystem.out.println("mon bidule 1: "+maListeDeBidules.get(0));System.out.println("mon bidule 2: "+maListeDeBidules.get(1));maListeDeBidules.myAdd(3,"quatre");// pas ok}}
Désolé d'en rajouter une couche. Peut-être qu'on ne se comprend pas, et que ce n'est rien que ça. Et que ce n'est pas nécessaire d'aller plus loin.
Le plus gros souci n'est pas tant l'insertion dans la liste, mais plutôt de savoir quel type on va récupérer quand on va piocher dedans.
C'est le soucis de l'OP.
Avec vos solutions, on se retrouve à encloisonner dans un objet plusieurs objets.
Merci au GC de faire du boulot, mais il va en avoir au moins trois fois plus.
Bien sûr je peux chinter le add() dans ClassB pour avoir une exception au runtime. Bien sûr c'est pas optimal balisé avec des contraintes plus fortes en vérification de types mon exemple. Bien sûr, je peux interdire aussi aad(int, object). C'était pas le but.
Donc maintenant, deux solutions : on arrête (ma solution préférée), ou tu me montre une solution plus élégante (mais ça peut effectivement demander du temps).
Désolé, mais j'ai d'autre occupations dans la vie.
Je peux comprendre, moi aussi. D'ailleurs tu as bien vu que ça fait plusieurs fois que je demande d'arrêter le fil de discution.
Ta proposition ne résout pas ce problème.
Et bien, dis-moi, alors, j'ai peut-être raté un truc (je sais que var existe). Mais juste en me disant que je ne sais pas pour qui je me prend, ce n'est pas engageant.
"Comment mélange-t-on des entiers et des chaînes dans une liste en Java ?" -> On ne le fait pas, ou alors on créée une liste d'objets "EntierOuChaîne". C'est à la fois plus dur, et la manière la plus simple.
Si tu me sors un truc plus concis et simple que ma proposition, je m'incline bien bas.
Donc maintenant, à toi de faire l'effort aussi, vu que j'ai pris un peu de temps pour proposer une solution.
Elle n'est peut-être pas optimale, mais elle a deux avantages à mon avis :
vérification du type dès l'entrée,
pas d'objet inutile qui engorge le GC.
Le petit désavantage, c'est de devoir utiliser myAdd() et pas juste add(), mais en cherchant, si ça se trouve, ça peut se corriger. J'avais juste pas envie de chercher plus loin.
importjava.util.ArrayList;publicclassClassA{privateclassClassB<I,S>extendsArrayList<Object>{publicvoidmyAdd(Ii,Ss)throwsException{if(i==null&&s==null)thrownewException("Je veux un paramètre !");if(i!=null&&s!=null)thrownewException("Mais juste un seul !");Objecto=null;if(i!=null)o=i;elseo=s;super.add(o);}publicObjectget(inti){returnsuper.get(i);}}publicstaticvoidmain(String[]args)throwsException{ClassAa=newClassA();a.doThings();}publicvoiddoThings()throwsException{ClassB<Integer,String>maListeDeBidules=newClassB<>();maListeDeBidules.myAdd(1,null);// okmaListeDeBidules.myAdd(null,"deux");// okSystem.out.println("mon bidule 1: "+maListeDeBidules.get(0));System.out.println("mon bidule 2: "+maListeDeBidules.get(1));maListeDeBidules.myAdd(3,"quatre");// pas ok}}
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Re-salut,
Je reviens juste sur ce point. Désolé de t'envoyer autant de messages. :(
Mais comme tu prend le temps de répondre (et plutôt agréablement) :
Hey, mais c'est pas moi qui pose cette contrainte à la base, c'est l'OP :(
Par ailleurs, dans mon métier, j'en ai vu plein des tableaux faits à la va-vite sous excel qui contiennent du coup dans une seule colonne un peu de types mixés et qu'il faut quand-même traiter.
Je ne parle même pas des formules dans des cellules, là, j'abandonne.
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Salut,
Ça c'est une somme.
Pas une moyenne :)
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 2. Dernière modification le 15 juillet 2020 à 08:18.
Salut,
Je suppose que tu vas toujours pas être content de ma solution, mais c'est pas grave.
Voilà, c'est ok pour tout ce qui est collection.
J'en ai profité pour retirer le calcul de la moyenne de ClassB (rien à faire là dedans).
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 2.
Salut,
Ok. Je vais essayer faire quelque chose sur ce point, si c'est juste celui-là qui coince pour toi.
J'ai déjà une idée, mais probablement pas géniale.
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Salut,
Regarde.
Mon code actuel :
Et le tien que j'ai modifié un tout petit peu (le moins possible) pour faire un petit tour sur une grosse liste d'entiers.
Alors maintenant on peut regarde ce qui se passe en mémoire :
Mon code :
Ton code :
Je sais pas si tu vois la petite subtile différence d'approche.
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Salut,
D'accord, pourquoi pas.
Mais j'espère que tu as vu ;)
Maintenant, je te demande plus du print() -ça c'est ok pour un hello world- mais une moyenne sur la liste (enfin moyenne, min, max, peu importe).
Ça m'intéresse vraiment de savoir comment tu vas t'en tirer, si tu as le temps :)
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Salut,
Juste à l'entrée, et dans le traitement si besoin est. Le reste ne bouge pas.
Ah bin je sais pas, il va falloir vous décider. D'un côté on me reproche d'avoir laissé la porte trop ouverte, de l'autre pas assez.
Revenons-en à nos petite discutions tranquilles :
extends
dans mes propositions initiales, ou c'est exprès ?Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Salut,
Oui, j'ai compris ça comme ça. Donc je pense qu'on est raccord sur ce point.
C'est un peu quand même ce que demandais l'OP…
Et en général, je gare pas mon éléphant dans le frigo, sinon ça fait des traces sans le beurre ;)
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Salut,
Comme tu as le courage de répondre, j'ai complété un peu les choses, modifié deux ou trois trucs, pour une nouvelle version.
L'exo se complexifie, on ne fait plus de print (ça, c'est un peu trop facile), mais une moyenne (ça pourrait être du max, du min, peu importe).
J'ai suprimmé mon extends, comme ça, il n'y a que ce que j'expose qui est dispo. Dans la version précédente, j'avais commencé à préparer le boulot, tu vois que maintenant j'ai des méthodes avec varargs et du coup c'est assez pratique pour faire de l'ajout en masse.
Voilà, comme tu m'a donné ta version des choses, j'ai pris un peu plus de temps pour t'en donner encore une autre ;)
Pas sûr qu'elle te plaise toujours plus. Et c'est du POC, donc y'a certainement des choses à faire pour que ça marche mieux.
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Hop, comme ça fait du bien de bosser un peu :
Peut-être que c'est une solution qui se rapprocherait plus de ce que tu veux ? Pas sûr.
En tout cas, dans cette v3, pas d'encapsulation d'objet, on peut étendre, c'est juste un type et une fonction à rajouter…
On n'a pas le même style, mais encore merci pour ta réponse !
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Salut,
C'est extensible à n'importe quel type.
Je pense que je vois cependant ce que tu veux dire par là.
Ce que j'apprécie moins dans ta solution c'est qu'en encapsulant, tu donne deux fois plus de boulot au GC, moi pas.
Mais en tout cas, merci d'avoir fait l'effort de montrer ta solution !
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 2. Dernière modification le 14 juillet 2020 à 08:02.
Salut,
Approche plus intéressante que ce que je pensais quand tu parlais d'objet EntierOuChaine.
Merci.
Matricule 23415
[^] # Re: comparaison entre object d'une meme liste
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 2.
Salut,
Oublie les génériques, c'est une fausse piste pour un début d'apprentissage. C'est compliqué de bien les gérer.
Que ce soit
java
,R
,python
, et pour aller plus loinphp
,perl
,lush
: une seule référence, la doc.Matricule 23415
[^] # Re: comparaison entre object d'une meme liste
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 2. Dernière modification le 13 juillet 2020 à 14:16.
Salut,
Ok, c'est celui que j'utilise aussi. Mais il y en a d'autres.
Je laisse les afficionados de jetbrain te parler leur outil préféré :)
C'est juste pas possible de faire ça en une instruction en java :)
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à -1. Dernière modification le 13 juillet 2020 à 13:32.
Salut,
Et inversement.
Montre-moi où ma solution est moins optimale, et on en reparle. Traquillement.
Matricule 23415
[^] # Re: arf
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 2.
Salut,
Je ne sais pas quel IDE tu utilise, mais ça, même avant compilation, il devrait le détecter.
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 0.
Salut,
Allez, comme c'était pas long…
Zou. Une version sans
null
dans laClasseA
, sans le get() inutile, un peu de type checking de plus…Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 0.
Salut,
Désolé d'en rajouter une couche. Peut-être qu'on ne se comprend pas, et que ce n'est rien que ça. Et que ce n'est pas nécessaire d'aller plus loin.
C'est le soucis de l'OP.
Avec vos solutions, on se retrouve à encloisonner dans un objet plusieurs objets.
Merci au GC de faire du boulot, mais il va en avoir au moins trois fois plus.
Bien sûr je peux chinter le add() dans
ClassB
pour avoir une exception au runtime. Bien sûr c'est pas optimal balisé avec des contraintes plus fortes en vérification de types mon exemple. Bien sûr, je peux interdire aussi aad(int, object). C'était pas le but.Donc maintenant, deux solutions : on arrête (ma solution préférée), ou tu me montre une solution plus élégante (mais ça peut effectivement demander du temps).
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 0.
Salut,
Je peux comprendre, moi aussi. D'ailleurs tu as bien vu que ça fait plusieurs fois que je demande d'arrêter le fil de discution.
Et bien, dis-moi, alors, j'ai peut-être raté un truc (je sais que
var
existe). Mais juste en me disant que je ne sais pas pour qui je me prend, ce n'est pas engageant.Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à -1.
Salut,
Toujours pas de code de ton côté ?
Je sais bien que la je provoque un peu, mais si tu me montre pas ta soluce, c'est gênant.
Évidemment, dans la mienne, on peut ajouter des vérifications de type pour ne pas inclure des objets dérivés, mais bon, c'était pas le but.
Donc donne toujours, je suis près à me courber si on me montre que je n'ai pas raison.
Matricule 23415
[^] # Re: arf
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 2.
Salut,
Bien désolé pour les messages qui s’enchaînent plus haut.
Nope, pas avec un bon IDE et une compréhension du langage.
Il y a des contraintes, peut-être plus fortes que dans d'autres langages, mais c'est pour le bien.
Alors oui, parfois ça demande de rajouter un peu de choses, de les enrober. Surtout au début.
Mais voilà, il faut se dire que c'est pour son bien :)
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1.
Salut,
Même punition ;)
Si tu me sors un truc plus concis et simple que ma proposition, je m'incline bien bas.
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 0. Dernière modification le 12 juillet 2020 à 11:58.
Salut,
Donc maintenant, à toi de faire l'effort aussi, vu que j'ai pris un peu de temps pour proposer une solution.
Elle n'est peut-être pas optimale, mais elle a deux avantages à mon avis :
Le petit désavantage, c'est de devoir utiliser myAdd() et pas juste add(), mais en cherchant, si ça se trouve, ça peut se corriger. J'avais juste pas envie de chercher plus loin.
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 1. Dernière modification le 12 juillet 2020 à 10:50.
Salut,
Le get est complètement inutile :( Mais plus le temps d'éditer ;)
Ça fonctionne même si on retire ce bout…
Matricule 23415
[^] # Re: Typage
Posté par _kaos_ . En réponse au message débutant java : opérations de base sur les listes. Évalué à 0.
Re-salut.
Un avis ?
Matricule 23415