CodeGym /Java Blog /Random /ArrayList removeAll() na pamamaraan sa Java
John Squirrels
Antas
San Francisco

ArrayList removeAll() na pamamaraan sa Java

Nai-publish sa grupo
Ang paraan ng ArrayList removeAll() sa Java ay hindi nag-aalis ng lahat ng elemento mula sa tamang ArrayList , gaya ng maaaring iminumungkahi ng pangalan nito. Kung kailangan mo ang operasyong ito, gamitin ang ArrayList clear() na paraan. Hindi tulad ng clear() , ang paraan ng removeAll() ay nag-aalis ng lahat ng mga item mula sa isang ibinigay na listahan na nasa isa pang koleksyon.

removeAll() syntax at deklarasyon

Narito ang syntax ng pamamaraan:

boolean removeAll(Collection<?> c)
Kung saan ang c ay isang koleksyon na naglalaman ng mga elementong aalisin sa listahang ito. Ang pamamaraang ito ay nagbabalik ng totoo kung nagbago ang listahang ito bilang resulta ng tawag. Maaari rin itong maghagis ng mga eksepsiyon: ClassCastException — kung ang klase ng isang elemento ng listahang ito ay hindi tugma sa tinukoy na koleksyon NullPointerException — kung ang listahan ay naglalaman ng isang null na elemento at ang tinukoy na koleksyon ay hindi pinahihintulutan ang mga null na elemento, o kung ang tinukoy na koleksyon ay null

removeAll() halimbawa ng code

Sabihin nating mayroon kang listahan ng kaibigan sa iyong social network. Well, ito ang karaniwang bagay sa ngayon. Gayundin, sabihin natin na ikaw ay isang maselan, at ipasok ang lahat ng iyong masamang hangarin sa isang espesyal na listahan ng kaaway, hindi alintana kung ang iyong mga kalaban ay kabilang sa iyong mga kaibigan sa social network o hindi. Napagpasyahan mong i-clear ang iyong listahan ng kaibigan ng lahat ng masamang hangarin. Ang paraan ng removeAll() ay tiyak na makakatulong dito:

import java.util.ArrayList;
import java.util.List;

public class RemoveAll2Example {
  
       public static void main(String[] args) {

           
           List<String> friendList = new ArrayList<String>();

           // use add() method to add friends into your friend list
           friendList.add("Alex");
           friendList.add("Ivy");
           friendList.add("Victor");
           friendList.add("Peter");
           friendList.add("Lenny");
           friendList.add("Olly");
           friendList.add("Stu");
           friendList.add("Scott");
           friendList.add("Olivia");

           System.out.println("My old friend list: "+ friendList);

           //create and add elements to foe list 
           List<String> foeList = new ArrayList<String>();

           foeList.add("Ben");
           foeList.add("Scott");
           foeList.add("Chuck");
           foeList.add("Olly");
           foeList.add("Sam");
           System.out.println("All my enemies: "+ foeList);

           //remove all foeList elements from friendList list if they exist
           friendList.removeAll(foeList);
           System.out.println("new friend List without foes: "+ friendList);
       }
   }
Ang output ay:
Listahan ng dati kong kaibigan: [Alex, Ivy, Victor, Peter, Lenny, Olly, Stu, Scott, Olivia] Lahat ng mga kaaway ko: [Ben, Scott, Chuck, Olly, Sam] Listahan ng bagong kaibigan na walang kalaban: [Alex, Ivy, Victor, Peter, Lenny, Stu, Olivia]
Tulad ng nakikita mo, tinanggal ng pamamaraan ang iyong mga kaaway na sina Olly at Scott. Wala kang mga kaaway na sina Ben, Chuck at Sam sa iyong listahan ng kaibigan. Marahil ay napansin mo na ayon sa deklarasyon ng paraan ng removeAll() maaari mong tanggalin sa iyong listahan hindi lamang ang mga halaga mula sa isa pang listahan, ngunit mula sa isang random na koleksyon. Magkaroon tayo ng halimbawa sa HashMap . Sa kasong ito, kailangan mong tahasang ipahiwatig na gusto mong alisin ang mga talaang iyon na tumutugma, halimbawa, sa mga halaga (removeAll (collection.values()) o keys (removeAll (collection.keySet()) . Isipin natin na mayroon tayong HashMap na may mga pangalan ng lahat ng babae sa aming mga kaibigan, at kailangan naming mag-iwan lamang ng mga lalaki sa friendList(Hindi ko alam kung bakit maaaring kailanganin ito, ngunit hindi mo alam). Bumalik tayo sa aming halimbawa sa lumang listahan ng kaibigan, lumikha ng HasMap ng mga batang babae at alisin sa listahan ng kaibigan ang lahat ng batang babae na ang mga pangalan ay nakasulat sa mga halaga ng aming HashMap .

import java.util.*;

public class RemoveAll2Example {
  
       public static void main(String[] args) {

          // create an empty array list and full it up using Java 9 Factory Methods  in one line
List<String> friendList= new ArrayList<>(List.of("Alex", "Ivy", "Victor", "Peter", "Lenny", "Olly", "Stu", "Scott", "Olivia"));

           System.out.println("My old friend list: "+ friendList);

           // Creating hashMap with girls keys and names also using using Java 9 Factory Methods   
           Map<Integer, String> girls = new HashMap<>(Map.of(1, "Olly", 2, "Olivia", 3, "Loe", 4, "Ivy"));
           friendList.removeAll(girls.values());
           System.out.println("boys only friendList: " + friendList);
       }
   }
Narito ang output:
Listahan ng dati kong kaibigan: [Alex, Ivy, Victor, Peter, Lenny, Olly, Stu, Scott, Olivia] mga lalaki lang na friendList: [Alex, Victor, Peter, Lenny, Stu, Scott]

Ilang mga espesyal na kaso

Sa simula ng artikulong ito isinulat ko na upang alisin ang lahat ng mga halaga nito sa listahan, kailangan mong gamitin ang ArrayList clear() na pamamaraan. Ito ay, ngunit siyempre maaari mo ring gamitin ang removeAll() na paraan para dito. Marahil ay nahulaan mo na kung paano ito gagawin:

myList.RemoveAll (myList);
Magbigay tayo ng halimbawa. Sa isang angkop na sociopathy, alisan ng laman ang aming buong friendList:

 import java.util.*;

public class RemoveAll2Example {
  
       public static void main(String[] args) {

           // create an empty array list and full it up using  Java 9 Factory Methods  in one line
           List<String> friendList= new ArrayList<>(List.of("Alex", "Ivy", "Victor", "Peter", "Lenny", "Olly", "Stu", "Scott", "Olivia"));
           System.out.println("My old friend list: "+ friendList);

           friendList.removeAll(friendList);
           System.out.println("my new empty friendlist...:" + friendList);
       }
   }
Narito ang output:
boys only friendList: [Alex, Victor, Peter, Lenny, Stu, Scott] ang bago kong friendlist na walang laman...:[]
Subukan nating tanggalin ang mga null-collection na elemento mula sa aming ArrayList :

import java.util.*;

public class RemoveAll2Example {
  
       public static void main(String[] args) {

           List<String> friendList = new ArrayList<>(List.of("Alex", "Ivy", "Victor", "Peter", "Lenny", "Olly", "Stu", "Scott", "Olivia"));
           System.out.println("My old friend list: "+ friendList);

           // we are happy not to have foes 
           List<String> foeList = null;
          
           //trying to remove all foeList elements from friendList list 
            friendList.removeAll(foeList);
            System.out.println("my new friendlist:" + friendList);
       }
   }
Ayon sa kahulugan ng paraan ng removeAll() mayroon kaming pagbubukod sa output:
Listahan ng dati kong kaibigan: [Alex, Ivy, Victor, Peter, Lenny, Olly, Stu, Scott, Olivia] Exception sa thread na "main" java.lang.NullPointerException
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION