ไวยากรณ์
arraydeque_object ลบถ้า ( เพรดิเคต filter_condition )ที่ไหน arraydeque_object แสดงถึงคอลเล็กชัน ArrayDeque
พารามิเตอร์
ใช้เพรดิเคตที่เป็นไปตามเงื่อนไข
บันทึก
ถ้าเพรดิเคตเป็นโมฆะ แล้ว a NullPointerException ถูกโยน
ตัวอย่าง 1
ที่นี่ เราจะสร้างคอลเลกชัน ArrayDeque ที่มีองค์ประกอบประเภทสตริง 5 รายการ และลบสตริงที่ขึ้นต้นด้วย 'V'
นำเข้า java.util.* ;
นำเข้า java.util.ArrayDeque ;
สาธารณะ ระดับ หลัก
{
สาธารณะ คงที่ โมฆะ หลัก ( สตริง [ ] args ) {
// สร้าง ArrayDeque ชื่อ a_deque_object ด้วย String type
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. ลบถ้า ( กรอง -> ( กรอง. charAt ( 0 ) == 'ใน' ) ) ;
ระบบ . ออก . 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 รายการ และลบค่าที่มากกว่า 200
นำเข้า java.util.* ;นำเข้า java.util.ArrayDeque ;
สาธารณะ ระดับ หลัก
{
สาธารณะ คงที่ โมฆะ หลัก ( สตริง [ ] args ) {
// สร้าง ArrayDeque ชื่อ a_deque_object ด้วย Integer type
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. ลบถ้า ( กรอง -> ( กรอง > 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 ด้วย Integer type
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. ลบถ้า ( โมฆะ ) ;
}
}
เอาท์พุท:
เราจะเห็นได้ว่า NullPointerException ถูกยกขึ้น
บทสรุป
เราเห็นวิธีลบองค์ประกอบออกจากวัตถุคอลเลกชัน ArrayDeque ด้วย Predicate โดยใช้เมธอด removeIf() ตรวจสอบให้แน่ใจว่าคุณไม่ได้ระบุค่า null เนื่องจากเป็นผลลัพธ์ใน NullPointerException เราได้พูดคุยถึงสองตัวอย่างโดยใช้เงื่อนไขที่แตกต่างกันในเพรดิเคต และยังแสดงให้เห็น NullPointerException