Liste de booléens
Résolu/Fermé
Foreverson
Messages postés
231
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2014
-
19 déc. 2008 à 15:33
Foreverson Messages postés 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 - 19 déc. 2008 à 18:11
Foreverson Messages postés 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 - 19 déc. 2008 à 18:11
A voir également:
- Liste de booléens
- Liste déroulante excel - Guide
- Liste de diffusion whatsapp - Guide
- Liste déroulante en cascade - Guide
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
- Supprimer liste déroulante excel ✓ - Forum Excel
4 réponses
Foreverson
Messages postés
231
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2014
27
19 déc. 2008 à 16:13
19 déc. 2008 à 16:13
Je suis sûr que c'est pas bien compliqué, aidez-moi s'il vous plait
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
328
19 déc. 2008 à 16:37
19 déc. 2008 à 16:37
Bonjour,
Tu essaies de modifier un attribut de l'objet stocké à l'emplacement 0 de ta liste. Tu n'as pas le droit de faire ça (l'attribut est sans aucun doute private).
De plus, comme on n'a pas de setter sur le boolean dans la classe Boolean, on ne peut pas le modifier directement, il faut créer une nouvelle instance et l'insérer dans ta liste à la place de l'ancienne :
Bon, je ne connais pas Processing, ici j'écris en Java (en supposant que ta liste soit une instance d'une implémentation de l'interface List).
Cordialement,
Tu essaies de modifier un attribut de l'objet stocké à l'emplacement 0 de ta liste. Tu n'as pas le droit de faire ça (l'attribut est sans aucun doute private).
De plus, comme on n'a pas de setter sur le boolean dans la classe Boolean, on ne peut pas le modifier directement, il faut créer une nouvelle instance et l'insérer dans ta liste à la place de l'ancienne :
Boolean bool = new Boolean(true); versDroite.remove(0); versDroite.add(0, bool);
Bon, je ne connais pas Processing, ici j'écris en Java (en supposant que ta liste soit une instance d'une implémentation de l'interface List).
Cordialement,
Foreverson
Messages postés
231
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2014
27
19 déc. 2008 à 17:02
19 déc. 2008 à 17:02
Merci, ça marche bien ton truc !
Tu m'as appris une nouvelle commande, je ne savais pas qu'on pouvait ajouter un élément n'importe où dans la liste. ça m'arrange bien car ma dernière solution aurait été de faire une nouvelle liste temporaire puis de supprimer l'autre, bref, un truc horrible...
Merci bien !
Tu m'as appris une nouvelle commande, je ne savais pas qu'on pouvait ajouter un élément n'importe où dans la liste. ça m'arrange bien car ma dernière solution aurait été de faire une nouvelle liste temporaire puis de supprimer l'autre, bref, un truc horrible...
Merci bien !
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
328
19 déc. 2008 à 17:20
19 déc. 2008 à 17:20
En java l'interface List possède cette méthode. Ensuite, en fonction de l'implémentation, l'insertion d'un élément à l'index spécifié sera plus ou moins long (par exemple pour une ArrayList, ça se fera en O(1), pour une LinkedList en O(n)), donc il faut tout de même en tenir compte avant d'employer cette méthode à tout va.
Ta solution serait effectivement celle à employer si tes listes étaient codées avec une implémentation d'une pile (on ne peut retirer que les derniers éléments qu'on stocke dans une autre pile, on supprime l'élément souhaité et on remet les éléments stockés temporairement dans la pile d'origine). Note que si ta pile est codée comme une implémentation de liste, c'est l'algorithme qui est utilisé quand tu fais :
versDroite.remove(0);
versDroite.add(0, bool);
Sauf que ton "truc horrible" est exécuté 2 fois : une fois pour supprimer le premier élément, une fois pour ajouter un élément en première position.
La moralité : les types abstraits (ici List) c'est bien, mais il faut toujours penser à l'implémentation optimale.
A la prochaine !
Ta solution serait effectivement celle à employer si tes listes étaient codées avec une implémentation d'une pile (on ne peut retirer que les derniers éléments qu'on stocke dans une autre pile, on supprime l'élément souhaité et on remet les éléments stockés temporairement dans la pile d'origine). Note que si ta pile est codée comme une implémentation de liste, c'est l'algorithme qui est utilisé quand tu fais :
versDroite.remove(0);
versDroite.add(0, bool);
Sauf que ton "truc horrible" est exécuté 2 fois : une fois pour supprimer le premier élément, une fois pour ajouter un élément en première position.
La moralité : les types abstraits (ici List) c'est bien, mais il faut toujours penser à l'implémentation optimale.
A la prochaine !
Foreverson
Messages postés
231
Date d'inscription
vendredi 3 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2014
27
19 déc. 2008 à 18:11
19 déc. 2008 à 18:11
Je ne comprends pas tout à ce que tu racontes, mais c'est pas grave ^^
J'ai commencé la programmation en septembre, essentiellement sur Processing, je suis encore un novice.
En tout cas, plus tard, si j'ai besoin, je saurai à qui m'adresser.
Merci, a+
J'ai commencé la programmation en septembre, essentiellement sur Processing, je suis encore un novice.
En tout cas, plus tard, si j'ai besoin, je saurai à qui m'adresser.
Merci, a+