Java-Supprimer element d'un Arraylist
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Java-Supprimer element d'un Arraylist



  1. #1
    invite8bfed574

    Java-Supprimer element d'un Arraylist


    ------

    Bonjour,
    Dans mon programme je souhaiterais supprimer tous les éléments de mon tableau dynamique piochealimentation.
    Jai donc écrit ceci:
    for (int i = 0; i < piochealimentation.size(); i++) {
    piochealimentation.remove(0);
    }

    Or lorsque juste après je veux afficher ma pioche alimentation pour vérifier que tout a été supprimé, rien n'a été supprimé.
    Voyez vous un probleme ?
    merci d'avance

    -----

  2. #2
    Stan_94

    Re : Java-Supprimer element d'un Arraylist

    Hello,
    remove(i) ...

  3. #3
    Jack
    Modérateur

    Re : Java-Supprimer element d'un Arraylist

    Citation Envoyé par Stan_94 Voir le message
    Hello,
    remove(i) ...
    Surtout pas. Je ne connais pas java, mais j'ai regardé la doc et remove(x) retire l'élément à la xième position. Du coup le code d'origine me semblait correct alors que le tien va retirer des éléments dont la position n'existe plus au bout de quelques itérations.

    Le code d'origine a-t-il été recopié à l'identique?

  4. #4
    CM63

    Re : Java-Supprimer element d'un Arraylist

    Bonjour,

    Pour vider ta liste, il suffit de la réalouer, tout simplement, puisque en Java il y a un ramasse miettes, pas de problème, il n'y aura pas de fuite mémoire:

    Code:
    import java.util.ArrayList;
     
    public class Test {
     
      public static void main(String[] args) {
             
            ArrayList al = new ArrayList();
            al.add(12);
            al.add("Une chaîne de caractères !");
            al.add(12.20f);
            al.add('d');
                    
            for(int i = 0; i < al.size(); i++)
               {
                 System.out.println("donnée à l'indice " + i + " = " + al.get(i));
               }
            // Vidage de la liste :
            al = new ArrayList();
        }

  5. A voir en vidéo sur Futura
  6. #5
    pm42

    Re : Java-Supprimer element d'un Arraylist

    Sinon piochealimentation.clear() fait exactement ça. Lire la doc aide parfois.

  7. #6
    invite8bfed574

    Re : Java-Supprimer element d'un Arraylist

    Merci même en lisant les documents je n'avais pas vu. Cependant je voulais vérifier la syntaxe de suppression element par element car pour un autre exemple je dois laisser seulement un élément dans mon arraylist .. Ainsi , je suis la même syntaxe que J'ai enoncé mais avec i<(piochealimention - 1)et cela ne fonctionne pas.
    Auriez vous une solution?
    Merci

  8. #7
    Jack
    Modérateur

    Re : Java-Supprimer element d'un Arraylist

    Puisque tu ne réponds pas, je réitère ma question:
    Le code d'origine a-t-il été recopié à l'identique?
    Je pense à un truc du genre:
    Code:
    for (int i = 0; i < piochealimentation.size(); i++);
    {
        piochealimentation.remove(0);
    }
    Dernière modification par Jack ; 26/10/2016 à 20h28.

  9. #8
    CM63

    Re : Java-Supprimer element d'un Arraylist

    Citation Envoyé par leatitia13 Voir le message
    Merci même en lisant les documents je n'avais pas vu. Cependant je voulais vérifier la syntaxe de suppression element par element car pour un autre exemple je dois laisser seulement un élément dans mon arraylist .. Ainsi , je suis la même syntaxe que J'ai enoncé mais avec i<(piochealimention - 1)et cela ne fonctionne pas.
    Auriez vous une solution?
    Merci
    oui: tu copie l'élément à conserver dans une autre liste.

  10. #9
    pm42

    Re : Java-Supprimer element d'un Arraylist

    Citation Envoyé par leatitia13 Voir le message
    Merci même en lisant les documents je n'avais pas vu. Cependant je voulais vérifier la syntaxe de suppression element par element car pour un autre exemple je dois laisser seulement un élément dans mon arraylist .. Ainsi , je suis la même syntaxe que J'ai enoncé mais avec i<(piochealimention - 1)et cela ne fonctionne pas.
    Auriez vous une solution?
    Tu utilises un iterator et tu fais un remove sauf sur l'élément que tu veux garder.
    Tu peux aussi mettre l'élément un question dans un collection et faire un retainAll.
    Ou trouver son index et faire un removeRange pour virer ce qui est après lui et avant lui.
    Ou en Java 8 utiliser removeIf ce qui est sans doute la solution la plus élégante.

  11. #10
    Bluedeep

    Re : Java-Supprimer element d'un Arraylist

    Citation Envoyé par leatitia13 Voir le message
    Bonjour,
    Dans mon programme je souhaiterais supprimer tous les éléments de mon tableau dynamique piochealimentation.
    Jai donc écrit ceci:
    for (int i = 0; i < piochealimentation.size(); i++) {
    piochealimentation.remove(0);
    }

    Or lorsque juste après je veux afficher ma pioche alimentation pour vérifier que tout a été supprimé, rien n'a été supprimé.
    Voyez vous un probleme ?
    merci d'avance
    Je ne connais pas Java, mais ce code ne pourra pas vider tout :
    piochealimentation.size() est réévalué à chaque test de i, donc i va s’incrémenter et piochealimentation.size() se décrémenter.
    Dans tous les cas, ce code, si il marchait, ne supprimerait que la moitié des éléments.
    Il faudrait écrire :

    Code:
    int imax = piochealimentation.size();
    for (int i = 0; i < imax; i++) 
    {
    piochealimentation.remove(0);
    }

    (question HS mais qui reste mystérieuse pour moi : pourquoi les dev. Java adoptent-t-ils la détestable indentation K&R alors que la plupart de développeurs C ou C# l'ont laissé tomber ?).
    Dernière modification par Bluedeep ; 27/10/2016 à 11h10.

  12. #11
    CM63

    Re : Java-Supprimer element d'un Arraylist

    Bonjour,

    (question HS mais qui reste mystérieuse pour moi : pourquoi les dev. Java adoptent-t-ils la détestable indentation K&R alors que la plupart de développeurs C ou C# l'ont laissé tomber ?).
    Les développeurs Java n'adoptent rien du tout, tu fais ce que tu veux. Ça dépend plus des "beautifiers" des éditeurs, dont le comportement ne doit pas différer entre C++, Java, C# et autres langages à crochets (si il en a d'autres).

  13. #12
    Bluedeep

    Re : Java-Supprimer element d'un Arraylist

    Citation Envoyé par CM63 Voir le message
    Les développeurs Java n'adoptent rien du tout, tu fais ce que tu veux. Ça dépend plus des "beautifiers" des éditeurs, dont le comportement ne doit pas différer entre C++, Java, C# et autres langages à crochets (si il en a d'autres).
    Oui, mais ça se paramètre justement (l’indentation K&R de toute manière, pour ma part, je ne l'autorise pas aux dev.)

Discussions similaires

  1. Passage par référence d'un ArrayList
    Par invite6a4220c9 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 28/04/2014, 18h37
  2. [Java] Afficher les valeurs d'une ArrayList
    Par invitea18757b7 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 13/02/2012, 13h02
  3. conserver enregistrements d'une arraylist apres fermer l'execution
    Par invitec7fd8fb0 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 26/08/2011, 06h09
  4. Arraylist en VB.net
    Par invite62ecda61 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 01/04/2009, 22h47
  5. Au secours - comment supprimer le Trojan Java Classloader???
    Par invite7978020e dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 6
    Dernier message: 25/01/2008, 22h21