ஜாவாவில் உள்ள ArrayList removeAll() முறையானது அதன் பெயர் குறிப்பிடுவது போல, சரியான ArrayList இலிருந்து அனைத்து உறுப்புகளையும் அகற்றாது . உங்களுக்கு இந்த செயல்பாடு தேவைப்பட்டால், ArrayList clear() முறையைப் பயன்படுத்தவும். clear() போலல்லாமல் , removeAll() முறையானது மற்றொரு தொகுப்பில் உள்ள கொடுக்கப்பட்ட பட்டியலில் இருந்து அனைத்து பொருட்களையும் நீக்குகிறது.
removeAll() தொடரியல் மற்றும் அறிவிப்பு
முறை தொடரியல் இங்கே:
boolean removeAll(Collection<?> c)
c என்பது இந்தப் பட்டியலிலிருந்து அகற்றப்பட வேண்டிய கூறுகளைக் கொண்ட தொகுப்பாகும். அழைப்பின் விளைவாக இந்தப் பட்டியல் மாறினால், இந்த முறை உண்மையாக இருக்கும். மேலும் இது விதிவிலக்குகளைத் தரலாம்: ClassCastException — இந்தப் பட்டியலின் ஒரு தனிமத்தின் வகுப்பு, குறிப்பிட்ட தொகுப்பு NullPointerException உடன் இணங்கவில்லை என்றால் - பட்டியலில் பூஜ்ய உறுப்பு இருந்தால் மற்றும் குறிப்பிட்ட சேகரிப்பு பூஜ்ய கூறுகளை அனுமதிக்கவில்லை என்றால், அல்லது குறிப்பிட்ட சேகரிப்பு பூஜ்யமாக இருந்தால்
removeAll() குறியீடு உதாரணம்
உங்கள் சமூக வலைப்பின்னலில் ஒரு நண்பர் பட்டியல் இருப்பதாக வைத்துக்கொள்வோம். சரி, இப்போதைக்கு இது வழக்கமான விஷயம். மேலும், நீங்கள் ஒரு நுணுக்கமானவர் என்று வைத்துக்கொள்வோம், உங்கள் எதிரிகள் உங்கள் சமூக வலைப்பின்னல் நண்பர்களில் இருக்கிறார்களா இல்லையா என்பதைப் பொருட்படுத்தாமல், உங்கள் எல்லா தவறான விருப்பங்களையும் ஒரு சிறப்பு எதிரி பட்டியலில் உள்ளிடவும். அனைத்து தவறான விருப்பங்களின் நண்பர் பட்டியலை அழிக்க முடிவு செய்துள்ளீர்கள். RemoveAll () முறை இதற்கு நிச்சயமாக உதவும்:
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);
}
}
வெளியீடு:
எனது பழைய நண்பர் பட்டியல்: [அலெக்ஸ், ஐவி, விக்டர், பீட்டர், லென்னி, ஓலி, ஸ்டூ, ஸ்காட், ஒலிவியா] எனது எதிரிகள் அனைவரும்: [பென், ஸ்காட், சக், ஓலி, சாம்] எதிரிகள் இல்லாத புதிய நண்பர் பட்டியல்: [அலெக்ஸ், ஐவி, விக்டர், பீட்டர், லென்னி, ஸ்டூ, ஒலிவியா]
நீங்கள் பார்க்க முடியும் என, முறை உங்கள் எதிரிகள் Olly மற்றும் ஸ்காட் நீக்கப்பட்டது. உங்கள் நண்பர் பட்டியலில் பென், சக் மற்றும் சாம் ஆகியோர் உங்களுக்கு எதிரிகள் இல்லை. ரிமூவ்ஆல்() முறை அறிவிப்பின்படி, உங்கள் பட்டியலிலிருந்து மற்றொரு பட்டியலிலிருந்து மதிப்புகளை மட்டுமல்ல, சீரற்ற சேகரிப்பிலிருந்தும் நீக்கலாம் என்பதை நீங்கள் கவனித்திருக்கலாம் . HashMap உடன் ஒரு உதாரணத்தைப் பார்ப்போம் . இந்த வழக்கில், நீங்கள் பொருந்தக்கூடிய பதிவுகளை அகற்ற விரும்புகிறீர்கள் என்பதை நீங்கள் வெளிப்படையாகக் குறிப்பிட வேண்டும், எடுத்துக்காட்டாக, மதிப்புகள் (removeAll (collection.values()) அல்லது விசைகள் (removeAll (collection.keySet()) . எங்களிடம் உள்ளது என்று கற்பனை செய்து கொள்வோம். எங்கள் நண்பர்களில் உள்ள அனைத்து பெண்களின் பெயர்களையும் கொண்ட HashMap , மேலும் நாம் நண்பர் பட்டியலில் ஆண்களை மட்டும் விட வேண்டும்(இது ஏன் தேவைப்படலாம் என்று எனக்குத் தெரியவில்லை, ஆனால் உங்களுக்குத் தெரியாது). பழைய நண்பர் பட்டியலுடன் எங்கள் உதாரணத்திற்குச் செல்வோம், ஒரு பெண்கள் HasMap ஐ உருவாக்கி, எங்கள் 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);
}
}
இதோ வெளியீடு:
எனது பழைய நண்பர் பட்டியல்: [அலெக்ஸ், ஐவி, விக்டர், பீட்டர், லென்னி, ஓலி, ஸ்டு, ஸ்காட், ஒலிவியா] சிறுவர்கள் மட்டுமே நண்பர்களின் பட்டியல்: [அலெக்ஸ், விக்டர், பீட்டர், லென்னி, ஸ்டூ, ஸ்காட்]
சில சிறப்பு வழக்குகள்
இந்தக் கட்டுரையின் தொடக்கத்தில், பட்டியலிலிருந்து அதன் அனைத்து மதிப்புகளையும் அகற்ற, நீங்கள் ArrayList clear() முறையைப் பயன்படுத்த வேண்டும் என்று எழுதினேன். இது, ஆனால் நிச்சயமாக நீங்கள் இதற்கு removeAll() முறையைப் பயன்படுத்தலாம். இதை எப்படி செய்வது என்று நீங்கள் ஏற்கனவே யூகித்திருக்கலாம்:
myList.RemoveAll (myList);
ஒரு உதாரணம் தருவோம். சமூகவியலில், நமது நண்பர்கள் பட்டியலை முழுவதுமாக காலி செய்வோம்:
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);
}
}
இதோ வெளியீடு:
சிறுவர்கள் மட்டும் நண்பர் பட்டியல்: [அலெக்ஸ், விக்டர், பீட்டர், லென்னி, ஸ்டூ, ஸ்காட்] எனது புதிய வெற்று நட்பு பட்டியல்...:[]
குறைந்தபட்சம் எங்கள் வரிசைப்பட்டியலில் இருந்து பூஜ்ய சேகரிப்பு கூறுகளை அகற்ற முயற்சிப்போம் :
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);
}
}
RemoveAll() முறை வரையறையின்படி, வெளியீட்டில் எங்களுக்கு விதிவிலக்கு உள்ளது:
எனது பழைய நண்பர் பட்டியல்: [Alex, Ivy, Victor, Peter, Lenny, Olly, Stu, Scott, Olivia] "main" java.lang.NullPointerException நூலில் விதிவிலக்கு
மேலும் வாசிப்பு: |
---|
GO TO FULL VERSION