Partage
  • Partager sur Facebook
  • Partager sur Twitter

enlever un objet dans une ArrayList

sans le supprimer

    28 avril 2016 à 22:24:35

    Bonjour, 

    Tout est dans le titre.
    J'aimerais enlever un objet d'une arrayList sans que l'objet soit supprimé pour autant.
    Si j'utilise remove, il semblerait que l'objet soit entièrement supprimé, même s'il est présent en même temps dans d'autres listes par exemples.

    Savez vous comment procéder dans ce gendre de cas ?

    Merci si vous pouvez m'aider.
    • Partager sur Facebook
    • Partager sur Twitter
      28 avril 2016 à 22:38:26

      Bonjour.

      mazertys17 a écrit:

      Si j'utilise remove, il semblerait que l'objet soit entièrement supprimé, même s'il est présent en même temps dans d'autres listes par exemples.

      Non.
      • Partager sur Facebook
      • Partager sur Twitter
      Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
        28 avril 2016 à 23:10:34

        Hello!

        Si tu as établi une égalité entre deux ArrayLists c''est tout à fait normal.  Array1 = Array2 ne veut pas dire que tu as copié le contenu Array2 dans Array1. Pour Java ça veut simplement dire que l'objet qui est appelé "Array1" est aussi appelé "Array2".

        Voici un code pour illustrer cela:

        import java.util.ArrayList;
        import java.util.Collection;
        
        public class RemoveArrays
        {
        	RemoveArrays(){
        		Collection<String> list_1 = new ArrayList();
        		String message_1 = "message 1";
        		String message_2 = "message 2";
        		list_1.add(message_1);
        		list_1.add(message_2);
        		
        		Collection<String> list_2 = list_1;
        		
        		System.out.println("Remove sans la méthode clone()");
        		
        		System.out.println("Messages de la première liste avant remove:");
        		for(String s : list_1)
        			System.out.println(s);
        		System.out.println("Messages de la seconde liste avant remove:");
        		for(String s : list_2)
        			System.out.println(s);
        		
        		list_2.remove(message_2);
        		
        		System.out.println("Messages de la première liste après remove:");
        		for(String s : list_1)
        			System.out.println(s);
        		System.out.println("Messages de la seconde liste après remove:");
        		for(String s : list_2)
        			System.out.println(s);
        		
        		System.out.println("*******************************************");
        		System.out.println("Remove avec la méthode clone()");
        		
        		Collection<String> list_1bis = new ArrayList();
        		String message_1bis = "message 1bis";
        		String message_2bis = "message 2bis";
        		list_1bis.add(message_1bis);
        		list_1bis.add(message_2bis);
        		
        		Collection<String> list_2bis = (Collection<String>)((ArrayList<String>)list_1bis).clone();
        		
        		System.out.println("Messages de la première liste avant remove:");
        		for(String s : list_1bis)
        			System.out.println(s);
        		System.out.println("Messages de la seconde liste avant remove:");
        		for(String s : list_2bis)
        			System.out.println(s);
        		
        		list_2bis.remove(message_2bis);
        		
        		System.out.println("Messages de la première liste après remove:");
        		for(String s : list_1bis)
        			System.out.println(s);
        		System.out.println("Messages de la seconde liste après remove:");
        		for(String s : list_2bis)
        			System.out.println(s);
        	}
        }



        • Partager sur Facebook
        • Partager sur Twitter

        enlever un objet dans une ArrayList

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown