CodeGym /Java Blog /Acak /ArrayList removeAll() metode di Jawa
John Squirrels
Level 41
San Francisco

ArrayList removeAll() metode di Jawa

Dipublikasikan di grup Acak
Metode ArrayList removeAll() di Java tidak menghapus semua elemen dari ArrayList yang tepat , seperti namanya. Jika Anda memerlukan operasi ini, gunakan metode ArrayList clear() . Tidak seperti clear() , metode removeAll() menghapus semua item dari daftar tertentu yang terdapat dalam koleksi lain.

removeAll() sintaks dan deklarasi

Berikut adalah sintaks metode:

boolean removeAll(Collection<?> c)
Di mana c adalah kumpulan yang berisi elemen yang akan dihapus dari daftar ini. Metode ini mengembalikan nilai true jika daftar ini berubah akibat panggilan. Juga dapat membuang pengecualian: ClassCastException — jika kelas elemen dari daftar ini tidak kompatibel dengan koleksi yang ditentukan NullPointerException — jika daftar berisi elemen null dan koleksi yang ditentukan tidak mengizinkan elemen null, atau jika koleksi yang ditentukan adalah null

contoh kode removeAll()

Katakanlah Anda memiliki daftar teman di jejaring sosial Anda. Yah, itu hal yang biasa untuk saat ini. Juga, katakanlah Anda adalah orang yang teliti, dan masukkan semua simpatisan Anda ke dalam daftar musuh khusus, terlepas dari apakah musuh Anda ada di antara teman jejaring sosial Anda atau tidak. Anda telah memutuskan untuk menghapus daftar teman Anda dari semua simpatisan. Metode removeAll() pasti akan membantu dalam hal ini:

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);
       }
   }
Outputnya adalah:
Daftar teman lamaku: [Alex, Ivy, Victor, Peter, Lenny, Olly, Stu, Scott, Olivia] Semua musuhku: [Ben, Scott, Chuck, Olly, Sam] daftar teman baru tanpa musuh: [Alex, Ivy, Victor, Peter, Lenny, Stu, Olivia]
Seperti yang Anda lihat, metode menghapus musuh Anda Olly dan Scott. Anda tidak memiliki musuh Ben, Chuck dan Sam dalam daftar teman Anda. Anda mungkin memperhatikan bahwa menurut deklarasi metode removeAll() Anda dapat menghapus dari daftar Anda tidak hanya nilai dari daftar lain, tetapi dari koleksi acak. Mari kita ambil contoh dengan HashMap . Dalam hal ini, Anda perlu secara eksplisit menunjukkan bahwa Anda ingin menghapus rekaman yang cocok, misalnya, dengan nilai (removeAll (collection.values()) atau kunci (removeAll (collection.keySet()) . Bayangkan kita memiliki HashMap dengan nama semua gadis di antara teman-teman kita, dan kita hanya perlu meninggalkan anak laki-laki di daftar teman(Saya tidak tahu mengapa ini diperlukan, tetapi Anda tidak pernah tahu). Mari kembali ke contoh kita dengan daftar teman lama, buat HasMap cewek dan hapus dari daftar teman semua cewek yang namanya tertulis di nilai HashMap kita .

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);
       }
   }
Inilah hasilnya:
Daftar teman lama saya: [Alex, Ivy, Victor, Peter, Lenny, Olly, Stu, Scott, Olivia] daftar teman laki-laki saja: [Alex, Victor, Peter, Lenny, Stu, Scott]

Beberapa kasus khusus

Di awal artikel ini saya menulis bahwa untuk menghapus semua nilainya dari daftar, Anda perlu menggunakan metode clear() ArrayList . Ya, tapi tentu saja Anda juga bisa menggunakan metode removeAll() untuk ini. Anda mungkin sudah menebak bagaimana melakukan ini:

myList.RemoveAll (myList);
Mari kita beri contoh. Sesuai dengan sosiopati, mari kita kosongkan seluruh daftar teman kita:

 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);
       }
   }
Inilah hasilnya:
boys only friendList: [Alex, Victor, Peter, Lenny, Stu, Scott] daftar teman baruku yang kosong...:[]
Setidaknya mari kita coba menghapus elemen null-collection dari 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);
       }
   }
Menurut definisi metode removeAll() kami memiliki pengecualian dalam output:
Daftar teman lama saya: [Alex, Ivy, Victor, Peter, Lenny, Olly, Stu, Scott, Olivia] Pengecualian di thread "main" java.lang.NullPointerException
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION