תחביר
arraydeque_object. removeIf ( פרדיקט filter_condition )איפה arraydeque_object מייצג את אוסף ArrayDeque.
פָּרָמֶטֶר
זה דורש פרדיקט שעוקב אחר התנאי.
הערה
אם הפרדיקט הוא ריק, אז א NullPointerException נזרק.
דוגמה 1
כאן, ניצור אוסף ArrayDeque עם 5 אלמנטים מסוג String ונסיר את המחרוזות שמתחילות ב-'V'.
יְבוּא java.util.* ;
יְבוּא java.util.ArrayDeque ;
פּוּמְבֵּי מעמד רָאשִׁי
{
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
// צור ArrayDeque בשם a_deque_object עם סוג מחרוזת
Dequea_deque_object = חָדָשׁ ArrayDeque ( ) ;
//הכנס לתוכו 5 מחרוזות.
a_deque_object. לְהוֹסִיף ( 'סיילה' ) ;
a_deque_object. לְהוֹסִיף ( 'פארנה' ) ;
a_deque_object. לְהוֹסִיף ( 'הַצלָחָה' ) ;
a_deque_object. לְהוֹסִיף ( 'ויג'איה' ) ;
a_deque_object. לְהוֹסִיף ( 'בחוץ' ) ;
מערכת . הַחוּצָה . println ( 'נתונים קיימים ב-a_deque_object: ' + a_deque_object ) ;
//הסר את המחרוזות מתחיל ב-'V'.
a_deque_object. removeIf ( לְסַנֵן -> ( לְסַנֵן. charAt ( 0 ) == 'IN' ) ) ;
מערכת . הַחוּצָה . println ( 'לאחר הסרת השמות מתחיל ב-V :' + a_deque_object ) ;
}
}
תְפוּקָה:
אז אנחנו יכולים לראות ש-Vijaya ו-Vani הן שתי המחרוזות שמתחילות ב-'V', ולכן הן מוסרות מה-a_deque_object.
כאן הפרדיקט המשמש לסינון נתונים אלה הוא - מסנן -> (filter.charAt(0) == 'V')
כאן המסנן מתייחס למשתנה.
הֶסבֵּר
שורה 9,18:
צור ArrayDeque בשם a_dequeobject עם סוגי מחרוזות והצג אותו
שורה 21,23:
כעת סנן את a_deque_object עם הפרדיקט - מסנן -> (filter.charAt(0) == 'V')
דוגמה 2
כאן, ניצור אוסף ArrayDeque עם 5 אלמנטים מסוג Integer ונסיר את הערכים שגדולים מ-200.
יְבוּא java.util.* ;יְבוּא java.util.ArrayDeque ;
פּוּמְבֵּי מעמד רָאשִׁי
{
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
// צור ArrayDeque בשם a_deque_object עם סוג מספר שלם
Dequea_deque_object = חָדָשׁ ArrayDeque ( ) ;
//הכנס לתוכו 5 מספר שלם.
a_deque_object. לְהוֹסִיף ( 100 ) ;
a_deque_object. לְהוֹסִיף ( 200 ) ;
a_deque_object. לְהוֹסִיף ( 300 ) ;
a_deque_object. לְהוֹסִיף ( 400 ) ;
a_deque_object. לְהוֹסִיף ( 500 ) ;
מערכת . הַחוּצָה . println ( 'נתונים קיימים ב-a_deque_object: ' + a_deque_object ) ;
//הסר את הערכים הגדולים מ-200
a_deque_object. removeIf ( לְסַנֵן -> ( לְסַנֵן > 200 ) ) ;
מערכת . הַחוּצָה . println ( 'לאחר הסרת הערכים הגדולים מ-200: ' + a_deque_object ) ;
}
}
תְפוּקָה:
אז אנחנו יכולים לראות ש-300,400 ו-500 הם שלושת הערכים שגדולים מ-200. אז הם מוסרים מה-a_deque_object.
כאן הפרדיקט המשמש לסינון נתונים אלה הוא - מסנן -> (מסנן > 200)
כאן המסנן מתייחס למשתנה.
הֶסבֵּר
שורה 9,18:
צור ArrayDeque בשם a_dequeobject עם סוגי מספר שלם והצג אותו
שורה 21,22:
כעת סנן את a_deque_object עם הפרדיקט - מסנן -> (מסנן > 200)
דוגמה 3: הדגמת NullPointerException
בוא נציין את Null כפרדיקט.
יְבוּא java.util.* ;יְבוּא java.util.ArrayDeque ;
פּוּמְבֵּי מעמד רָאשִׁי
{
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
// צור ArrayDeque בשם a_deque_object עם סוג מספר שלם
Dequea_deque_object = חָדָשׁ ArrayDeque ( ) ;
//הכנס לתוכו 5 מספרים שלמים.
a_deque_object. לְהוֹסִיף ( 100 ) ;
a_deque_object. לְהוֹסִיף ( 200 ) ;
a_deque_object. לְהוֹסִיף ( 300 ) ;
a_deque_object. לְהוֹסִיף ( 400 ) ;
a_deque_object. לְהוֹסִיף ( 500 ) ;
מערכת . הַחוּצָה . println ( 'נתונים קיימים ב-a_deque_object: ' + a_deque_object ) ;
a_deque_object. removeIf ( ריק ) ;
}
}
תְפוּקָה:
אנחנו יכולים לראות את זה NullPointerException מורם.
סיכום
ראינו כיצד להסיר את האלמנטים מאובייקט אוסף ArrayDeque עם Predicate באמצעות שיטת removeIf() . ודא שאינך מציין null, מכיוון שהתוצאה היא NullPointerException. דנו בשתי דוגמאות על ידי החלת תנאים שונים בפרדיקט וגם הדגמנו את NullPointerException.