กระบวนการกรองรายการใน Java คืออะไร

Krabwnkar Krxng Raykar Ni Java Khux Xari



การกรองรายการ ” ใน Java นั้นมีประโยชน์สำหรับนักพัฒนาที่ทำงานกับข้อมูลเป็นส่วนใหญ่ มีผลบังคับใช้ในขณะที่อัปเดตฟังก์ชันการทำงานของรหัส ลบบันทึก หรือใช้ข้อมูลที่มีอยู่ในรายการแยกต่างหาก ในสถานการณ์ดังกล่าว วิธีการกรองรายการจะช่วยในการจัดการทั้งเวลาและหน่วยความจำได้อย่างมีประสิทธิภาพที่ส่วนท้ายของนักพัฒนา

บล็อกนี้จะแนะนำการกรองรายการ Java







กระบวนการกรองรายการ Java คืออะไร

รายการใน Java สามารถกรองโดยใช้แนวทางต่อไปนี้:



นำเข้าแพ็คเกจที่ระบุด้านล่างในตัวอย่างทั้งหมดของบล็อกนี้เพื่อเข้าถึงฟังก์ชันทั้งหมดภายใน ' java.util ' บรรจุุภัณฑ์:



นำเข้า java.util.* ;

วิธีที่ 1: กรองรายการใน Java โดยใช้ลูป 'for'

วิธีการนี้ใช้ “ สำหรับ ” วนซ้ำตาม 'รายการ' ที่สร้างขึ้นเพื่อให้ 'ใหม่' รายการอาร์เรย์ ” ต่อท้ายด้วยรายการที่กรอง





ตัวอย่าง

ภาพรวมของบรรทัดรหัสที่ระบุด้านล่าง:

สาธารณะ ระดับ รายการตัวกรอง {
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
รายการ < สตริง > รายการที่ได้รับ = อาร์เรย์ . ตามรายการ ( 'ปากกา' , 'ยางลบ' , 'กบเหลา' ) ;
ระบบ . ออก . พิมพ์ ( 'รายการที่กำหนด -> ' + รายการที่ได้รับ ) ;
รายการ < สตริง > รายการตัวกรอง = ใหม่ รายการอาร์เรย์ <> ( ) ;
สำหรับ ( สตริง รายการ : รายการที่ได้รับ ) {
ถ้า ( รายการ. เริ่มต้นด้วย ( 'และ' ) ) {
รายการตัวกรอง เพิ่ม ( รายการ ) ;
} }
ระบบ . ออก . พิมพ์ ( 'รายการที่กรอง -> ' + รายการตัวกรอง ) ;
} }

ตามรหัสบล็อกนี้:



  • สร้างรายการของ “ สตริง ” ชนิดข้อมูลที่มีค่าสตริงที่ระบุไว้และแสดงผล
  • หลังจากนั้นสร้างใหม่ “ รายการอาร์เรย์ ” ชื่อว่า “ รายการตัวกรอง ” เพื่อต่อท้ายด้วยรายการที่กรองจากรายการเดิม
  • ตอนนี้ ใช้ “ สำหรับ ” วนซ้ำเพื่อวนซ้ำตามรายการแรกที่กำหนดไว้และกรองตามเงื่อนไขที่ใช้ เช่น รายการที่ขึ้นต้นด้วยอักขระ “ และ '.
  • ตามเงื่อนไขที่พอใจ รายการที่กรองจะถูกต่อท้ายด้วยสตริงเฉพาะ

เอาต์พุต

ตามที่เห็น รายการที่กรองจะถูกต่อท้ายด้วยสตริงที่ตรงตามเงื่อนไขที่ใช้

แนวทางที่ 2: กรองรายการใน Java โดยใช้ลูป ' while '

ในแนวทางนี้ “ ในขณะที่ ” วนซ้ำสามารถนำมาใช้พร้อมกับ “ ตัวทำซ้ำ ” คลาสและวิธีการกรองรายการที่ให้มา วิธีการเหล่านี้รวมถึง “ hasNext()” และ “ถัดไป() ” เมธอดที่เรียกใช้ค่าถัดไปจากรายการ ถ้ามี

ไวยากรณ์

บูลีน มีถัดไป ( )

เมธอดนี้ส่งคืนผลลัพธ์บูลีน เช่น “จริง” หรือ “เท็จ” .

สาธารณะ ถัดไป ( )

ที่นี่, ' ” สอดคล้องกับ “ อินเทอร์เฟซตัววนซ้ำ '.

ตัวอย่าง

ตอนนี้ดำเนินการตามรหัสต่อไปนี้:

สาธารณะ ระดับ รายการตัวกรอง {
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
รายการ < สตริง > รายการที่ได้รับ = ใหม่ รายการอาร์เรย์ <> (
อาร์เรย์ . ตามรายการ ( 'ชวา' , 'การเขียนโปรแกรม' , 'ใน' , 'ลีนุกซ์' ) ) ;
ระบบ . ออก . พิมพ์ ( 'รายการที่กำหนด -> ' + รายการที่ได้รับ ) ;
ตัวทำซ้ำ < สตริง > การทำซ้ำ = รายการที่ได้รับ วนซ้ำ ( ) ;
ในขณะที่ ( การทำซ้ำ มีถัดไป ( ) ) {
สตริง สกุลเงิน = การทำซ้ำ ต่อไป ( ) ;
ถ้า ( สกุลเงิน เริ่มต้นด้วย ( 'พี' ) ) {
การทำซ้ำ ลบ ( ) ;
} }
ระบบ . ออก . พิมพ์ ( 'รายการที่กรอง -> ' + รายการที่ได้รับ ) ;
} }

ตามรหัสด้านบน:

  • สร้าง “ รายการอาร์เรย์ ' ของ ' สตริง ” พิมพ์ที่มีค่าที่ให้มาและแสดงผล
  • ตอนนี้ วนซ้ำองค์ประกอบรายการผ่าน ' ตัวทำซ้ำ ' ระดับ.
  • นอกจากนี้ ให้ใช้ “ ในขณะที่ ” วนซ้ำเพื่อตรวจสอบว่ามีองค์ประกอบถัดไปในรายการผ่านปุ่ม “ มีถัดไป () ” วิธีการและเรียกมันตามที่ใช้ “ ต่อไป() ' วิธี.
  • ตอนนี้ ตรวจสอบว่าองค์ประกอบที่วนซ้ำในรายการเป็นไปตามเงื่อนไขที่ระบุไว้หรือไม่ ตามที่กล่าวไว้ในตัวอย่างก่อนหน้า
  • ตามเงื่อนไขที่พอใจ องค์ประกอบเฉพาะนั้นจะถูกลบออกแทน และรายการจะถูกกรอง

เอาต์พุต

ตามที่วิเคราะห์ องค์ประกอบที่ตรงตามเงื่อนไขที่ระบุจะถูกลบออกจากรายการอย่างเหมาะสม

รวมแพ็คเกจเพิ่มเติมที่ระบุด้านล่างในแนวทางถัดไปเพื่อให้สามารถทำงานกับ ' นักสะสม ' ระดับ:

นำเข้า java.util.stream.Collectors ;

วิธีที่ 3: กรองรายการใน Java โดยใช้วิธี 'filter()'

เดอะ 'กรอง()' วิธีการนี้ใช้เพื่อกรององค์ประกอบสตรีมตามภาคแสดงที่กำหนด สามารถใช้วิธีนี้เพื่อกรองสตรีมของรายการได้

ไวยากรณ์

ลำธาร < เอ็กซ์ > กรอง ( เพรดิเคต สุดยอด เอ็กซ์ > ก่อน )

ในไวยากรณ์นี้ “ ก่อน ” สอดคล้องกับ “ เพรดิเคต ” ที่สามารถใช้นิพจน์แลมบ์ดาเป็นอาร์กิวเมนต์

ตัวอย่าง

พิจารณารหัสต่อไปนี้:

สาธารณะ ระดับ รายการตัวกรอง2 {
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
รายการ < สตริง > รายการที่ได้รับ = อาร์เรย์ . ตามรายการ ( 'มือถือ' , 'แล็ปท็อป' , 'พีซี' ) ;
ระบบ . ออก . พิมพ์ ( 'รายการที่กำหนด -> ' + รายการที่ได้รับ ) ;
สตริง รายการตัวกรอง = รายการที่ได้รับ ลำธาร ( ) . กรอง ( รายการ -> รายการ. เริ่มต้นด้วย ( 'เอ็ม' ) )
. เก็บรวบรวม ( นักสะสม เข้าร่วม ( ', ' , '[' , ']' ) ) ;
ระบบ . ออก . พิมพ์ ( 'รายการที่กรอง -> ' + รายการตัวกรอง ) ;
} }

ในบรรทัดรหัสเหล่านี้:

  • ในทำนองเดียวกัน สร้าง “ รายการ ” และแสดงค่าของมัน
  • หลังจากนั้นให้ใช้ “ กรอง() ” วิธีการกรององค์ประกอบสตรีมในรายการตามเงื่อนไขที่กล่าวถึงและระบุข้อตกลงสำหรับการบรรจุรายการที่กรองผ่านทาง “ นักสะสม ” ชั้นตามลำดับ
  • สุดท้าย ส่งคืนรายการที่กรองแล้ว

เอาต์พุต

ในผลลัพธ์นี้ อาจบอกเป็นนัยได้ว่ารายการใหม่ถูกต่อท้ายด้วยค่าที่ตรงตามเงื่อนไขที่ระบุ

บทสรุป

รายการใน Java สามารถกรองได้โดยใช้ ' for” ลูป, ลูป “ while” หรือ “ filter() ' วิธี. วิธีการทั้งหมดเหล่านี้กรองรายการตามเงื่อนไขที่ระบุโดยตรงหรือผ่านนิพจน์แลมบ์ดา บทความนี้แสดงวิธีการกรองรายการ Java