Java เป็นภาษาที่มุ่งเน้นวัตถุดังนั้นการทำงานที่พบบ่อยที่สุดของวัตถุเมื่อเราเขียนโปรแกรมคือวัตถุ ด้วยเหตุนี้ Java จึงจัดเตรียมไลบรารีคลาสบางส่วนที่ใช้โดยเฉพาะในการประมวลผลวัตถุ เราเรียกคอลเลกชันของห้องสมุดคลาสเหล่านี้ว่าเป็นกรอบการรวบรวม ชุดเครื่องมือรวบรวม Java ตั้งอยู่ใต้แพ็คเกจ Java.util และมีโครงสร้างข้อมูลที่ใช้กันทั่วไปมากมายเช่นอาร์เรย์รายการที่เชื่อมโยงสแต็กคิวคิวคอลเลกชันตารางแฮช ฯลฯ ภายใต้กรอบของการเรียนรู้คอลเลกชัน Java
คลาสคอลเลกชันของ Java ส่วนใหญ่มาจากสองอินเทอร์เฟซ: คอลเลกชันและแผนที่ คอลเลกชันและแผนที่เป็นอินเทอร์เฟซรูทของเฟรมเวิร์กคอลเลกชัน Java และอินเทอร์เฟซทั้งสองนี้รวมถึงอินเทอร์เฟซหรือคลาสการใช้งานบางส่วน
จะเห็นได้ว่าคอลเลกชันไม่ได้ใช้คลาสโดยตรง แต่ให้การใช้งาน subinterface ที่เฉพาะเจาะจงมากขึ้น ผ่าน API แบบสอบถามสามารถสรุปฟังก์ชั่นพื้นฐานของคอลเลกชันได้
1. เพิ่ม
บูลีนเพิ่ม (e e): เพิ่มองค์ประกอบ
บูลีน Addall (คอลเลกชัน <? ขยาย e> c): เพิ่มองค์ประกอบของคอลเลกชัน
รหัสตัวอย่าง
การรวบรวมแพ็คเกจ; นำเข้า java.util.arraylist; นำเข้า java.util.collection; collection คลาสสาธารณะ collectiondemo1 {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {คอลเลกชันคอลเลกชัน 1 = new ArrayList (); // Collection เป็นอินเทอร์เฟซอินสแตนซ์ collection subclass ของมัน 1.add ("Dream of Red Mansions"); Collection1.add ("Romance of the Three Kingdoms"); System.out.println (Collection1); คอลเลกชันคอลเลกชัน 2 = new ArrayList (); Collection2.add ("Journey to the West"); Collection2.add ("ขอบน้ำ"); Collection1.add (Collection2); System.out.println (Collection1); -ผลลัพธ์ผลลัพธ์:
[Dream of Red Mansions, Romance of the Three Kingdoms]
[Dream of Red Mansions, Romance of the Three Kingdoms, [Journey to the West, Water Margin]]
2. ลบ
เป็นโมฆะ Clear (): ล้างองค์ประกอบทั้งหมดในคอลเลกชัน
บูลีนลบ (วัตถุ o): ลบองค์ประกอบที่ระบุ
บูลีน RemoveAll (คอลเลกชัน <?> c): ลบองค์ประกอบของคอลเลกชัน
รหัสตัวอย่าง
การรวบรวมแพ็คเกจ; นำเข้า java.util.arraylist; นำเข้า java.util.collection; collection คลาสสาธารณะ collectiondemo2 {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {คอลเลกชันคอลเลกชัน 1 = new ArrayList (); // Collection เป็นอินเทอร์เฟซอินสแตนซ์ collection subclass ของมัน 1.add ("Dream of Red Mansions"); Collection1.add ("Romance of the Three Kingdoms"); Collection1.add ("Journey to the West"); Collection1.add ("Margin น้ำ"); System.out.println ("สถานะเริ่มต้น:" + Collection1); บูลีน B1 = Collection1.remove ("Dream of Red Mansions"); System.out.println ("องค์ประกอบจะถูกลบออกหรือไม่:" + b1); System.out.println ("ลบองค์ประกอบ:" + collection1); System.out.println (); คอลเลกชันคอลเลกชัน 2 = new ArrayList (); Collection2.add ("โรแมนติกของสามอาณาจักร"); Collection2.add ("Journey to the West"); Collection2.add ("โลกธรรมดา"); บูลีน B2 = Collection1.removeAll (Collection2); // ลบจุดตัดของสองชุดและส่งคืนจริงตราบใดที่องค์ประกอบหนึ่งถูกลบออก system.out.println ("ลบคอลเลกชัน:" + คอลเลกชัน 1); System.out.println ("ไม่ว่าองค์ประกอบจะถูกลบ:" + b2); System.out.println (); คอลเลกชันคอลเลกชัน 3 = new ArrayList (); Collection3.Add ("โลกธรรมดา"); Collection3.Add ("ล้อม"); บูลีน B3 = คอลเลคชั่น 1.removeAll (คอลเลกชัน 3); // ลบจุดตัดของสองคอลเลกชันและส่งคืนจริงตราบใดที่องค์ประกอบถูกลบออก System.out.out.println ("ลบคอลเลกชัน:" + คอลเลกชัน 1); System.out.println ("ไม่ว่าองค์ประกอบจะถูกลบ:" + b3); System.out.println (); Collection1.Clear (); System.out.println ("ล้างองค์ประกอบทั้งหมดในคอลเลกชัน:" + คอลเลกชัน 1); -ผลลัพธ์ผลลัพธ์
สถานะเริ่มต้น: [Dream of the Red Chamber, Romance of the Three Kingdoms, Journey to the West, Water Margin]
ไม่ว่าจะลบองค์ประกอบ: จริง
ลบองค์ประกอบ: [โรแมนติกของสามอาณาจักรเดินทางไปทางทิศตะวันตกขอบน้ำ]
ลบคอลเลกชัน: [ขอบน้ำ]
ไม่ว่าจะลบองค์ประกอบ: จริง
ลบคอลเลกชัน: [ขอบน้ำ]
ไม่ว่าจะลบองค์ประกอบ: เท็จ
ล้างองค์ประกอบทั้งหมดในคอลเลกชัน: []
3. การตัดสิน
บูลีนประกอบด้วย (Object O): กำหนดว่าชุดมีองค์ประกอบที่ระบุ
บูลีนประกอบด้วย (คอลเลกชัน <?> c): กำหนดว่าชุดนั้นมีองค์ประกอบการรวบรวมที่ระบุไว้
บูลีน isempty (): กำหนดว่าชุดว่างเปล่า
รหัสตัวอย่าง
การรวบรวมแพ็คเกจ; นำเข้า java.util.arraylist; นำเข้า java.util.collection; collection คลาสสาธารณะ collectiondemo3 {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {คอลเลกชันคอลเลกชัน 1 = new ArrayList (); // Collection เป็นอินเทอร์เฟซอินสแตนซ์ collection subclass ของมัน 1.add ("Dream of Red Mansions"); Collection1.add ("Romance of the Three Kingdoms"); Collection1.add ("Journey to the West"); Collection1.add ("Margin น้ำ"); System.out.println ("มันมีความฝันของคฤหาสน์สีแดง:" + คอลเลคชั่น 1.contains ("ความฝันของคฤหาสน์สีแดง")); คอลเลกชันคอลเลกชัน 2 = new ArrayList (); Collection2.add ("โรแมนติกของสามอาณาจักร"); Collection2.add ("Journey to the West"); Collection2.add ("โลกธรรมดา"); System.out.println ("มีองค์ประกอบในคอลเลกชัน:" + คอลเลคชั่น 1.containsall (Collection2)); // ทั้งหมดที่มี system.out.println ("คอลเลกชันว่างเปล่า:" + collection1.isempty ()); -ผลลัพธ์ผลลัพธ์
มันรวมถึงความฝันของคฤหาสน์สีแดง: จริง
ไม่ว่าจะรวมองค์ประกอบในคอลเลกชัน: เท็จ
ไม่ว่าชุดจะว่างเปล่า: เท็จ
4. รับความยาว
ขนาด int (): รับจำนวนองค์ประกอบในชุด
รหัสตัวอย่าง
การรวบรวมแพ็คเกจ; นำเข้า java.util.arraylist; นำเข้า java.util.collection; collection คลาสสาธารณะ collectiondemo4 {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {คอลเลกชันคอลเลกชัน = new ArrayList (); // คอลเลกชันเป็นอินเทอร์เฟซอินสแตนซ์ subclass collection.add ("Dream of Red Mansions"); collection.add ("โรแมนติกของสามอาณาจักร"); collection.add ("Journey to the West"); collection.add ("ขอบน้ำ"); System.out.println ("จำนวนองค์ประกอบ:" + collection.size ()); -ผลลัพธ์ผลลัพธ์
จำนวนองค์ประกอบ: 4
5. สี่แยก
บูลีน retainall (คอลเลกชัน <?> c): เก็บองค์ประกอบในคอลเลกชันนี้ซึ่งรวมอยู่ในคอลเลกชันที่ระบุ (การดำเนินการเสริม) กล่าวอีกนัยหนึ่งลบองค์ประกอบทั้งหมดในคอลเลกชันนี้ที่ไม่รวมอยู่ในคอลเลกชันที่ระบุ
รหัสตัวอย่าง
การรวบรวมแพ็คเกจ; นำเข้า java.util.arraylist; นำเข้า java.util.collection; collection collection public collectiondemo5 {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {คอลเลกชันคอลเลกชัน 1 = new ArrayList (); // Collection เป็นอินเทอร์เฟซอินสแตนซ์ collection subclass ของมัน 1.add ("Dream of Red Mansions"); Collection1.add ("Romance of the Three Kingdoms"); Collection1.add ("Journey to the West"); Collection1.add ("Margin น้ำ"); คอลเลกชันคอลเลกชัน 2 = new ArrayList (); Collection2.add ("Journey to the West"); Collection2.add ("ขอบน้ำ"); System.out.println (Collection1.retainall (Collection2)); System.out.println ("Collection1:" + Collection1); System.out.println ("Collection2:" + Collection2); คอลเลกชันคอลเลกชัน 3 = new ArrayList (); Collection3.Add ("Journey to the West"); Collection3.Add ("โลกธรรมดา"); System.out.println (Collection1.retainall (Collection3)); System.out.println ("Collection1:" + Collection1); System.out.println ("Collection2:" + Collection2); -ผลลัพธ์ผลลัพธ์
จริง
คอลเลกชัน 1: [Journey to the West, Water Margin]
Collection2: [Journey to the West, Water Margin]
จริง
Collection1: [Journey to the West]
Collection2: [Journey to the West, Water Margin]
จากการวิเคราะห์ผลลัพธ์ข้างต้นเป็นที่ทราบกันดีว่าคอลเลกชัน 1 คอลเลกชันและคอลเลกชันคอลเลกชัน 2 การดำเนินการตัดแยกและผลลัพธ์สุดท้ายยังคงอยู่ในคอลเลกชัน 1 ในขณะที่องค์ประกอบในคอลเลกชัน 2 ยังคงไม่เปลี่ยนแปลง
6. ตั้งค่าเป็นอาร์เรย์
Object [] toarray (): ตั้งค่าเป็นอาร์เรย์
รหัสตัวอย่าง
การรวบรวมแพ็คเกจ; นำเข้า java.util.arraylist; นำเข้า java.util.collection; collection คลาสสาธารณะ collectiondemo6 {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {คอลเลกชันคอลเลกชัน = new ArrayList (); // คอลเลกชันเป็นอินเทอร์เฟซอินสแตนซ์ subclass collection.add ("Dream of Red Mansions"); collection.add ("โรแมนติกของสามอาณาจักร"); collection.add ("Journey to the West"); collection.add ("ขอบน้ำ"); วัตถุ [] objects = collection.toarray (); สำหรับ (วัตถุวัตถุ: วัตถุ) {system.out.println (วัตถุ); -ผลลัพธ์ผลลัพธ์:
Dream of the Red Chamber ของสามอาณาจักรเดินทางไปยังขอบน้ำตะวันตก
7. Traversal
ตัววนซ้ำ <e> iterator (): ส่งคืนตัววนซ้ำที่วนซ้ำในองค์ประกอบของคอลเลกชันนี้ Iterator เป็นวิธีการสำรวจเฉพาะคอลเลกชัน
Iterator เป็นอินเทอร์เฟซซึ่งมี 3 วิธี
บูลีน Hasnext (): ส่งคืนจริงหากยังมีองค์ประกอบที่สามารถทำซ้ำได้
e next (): ส่งคืนองค์ประกอบถัดไปของการทำซ้ำและย้ายไปยังตำแหน่งถัดไป
เป็นโมฆะลบ (): ลบองค์ประกอบสุดท้ายที่ส่งคืนโดยตัววนซ้ำออกจากคอลเลกชันที่ชี้ไปที่ตัววนซ้ำ
รหัสตัวอย่าง
การรวบรวมแพ็คเกจ; นำเข้า java.util.arraylist; นำเข้า java.util.collection; นำเข้า java.util.iterator; collection คลาสสาธารณะ collectiondemo7 {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {คอลเลกชันคอลเลกชัน = new ArrayList (); // คอลเลกชันเป็นอินเทอร์เฟซอินสแตนซ์ subclass collection.add ("Dream of Red Mansions"); collection.add ("โรแมนติกของสามอาณาจักร"); collection.add ("Journey to the West"); collection.add ("ขอบน้ำ"); ตัววนซ้ำมัน = collection.iterator (); ในขณะที่ (it.hasnext ()) {object object = it.next (); System.out.println (วัตถุ); } it.remove (); // หากไม่ได้เรียกวิธีการถัดไปข้อยกเว้นที่ผิดกฎหมายจะถูกโยนลงไป System.out.println (คอลเลกชัน); -ผลลัพธ์ผลลัพธ์:
Dream of the Red Chamber ของสามอาณาจักรเดินทางไปยังขอบน้ำตะวันตก
[Dream of Red Mansions, Romance of the Three Kingdoms, Journey to the West]
ณ จุดนี้วิธีการของอินเทอร์เฟซคอลเลกชันได้รับการแนะนำ
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น