การวิเคราะห์: หากคุณไม่ทราบว่าคุณต้องการวัตถุกี่ชิ้นเมื่อโปรแกรมทำงานหรือหากคุณต้องการจัดเก็บวัตถุในวิธีที่ซับซ้อนมากขึ้นคุณสามารถใช้กรอบการรวบรวม Java
หากเปิดใช้งานวิธีการลบของคอลเลกชันดัชนีขององค์ประกอบทั้งหมดในคอลเลกชันจะได้รับการบำรุงรักษาโดยอัตโนมัติ
คอลเลกชันชดเชยข้อบกพร่องของอาร์เรย์อย่างสมบูรณ์
02. เนื้อหาของเฟรมเวิร์กคอลเลกชัน
เฟรมเวิร์กคอลเลกชันทั้งหมดมีเนื้อหาหลักสามประการ: อินเทอร์เฟซภายนอกการใช้งานอินเตอร์เฟสและอัลกอริทึมสำหรับการดำเนินการรวบรวม
01. อินเทอร์เฟซ: ประเภทข้อมูลนามธรรมแสดงถึงการรวบรวม
02. การใช้งาน: การใช้งานอินเทอร์เฟซเฉพาะในกรอบการรวบรวม
03. อัลกอริทึม: ทำวิธีการคำนวณที่มีประโยชน์บางอย่างบนวัตถุที่ใช้อินเทอร์เฟซของกรอบการรวบรวมบางอย่าง
Java Collection Framework Diagram:
01. อินเทอร์เฟซคอลเลกชันมีกลุ่มของ ununique (ซ้ำ) และวัตถุที่ไม่ได้เรียงลำดับ
02.Set อินเทอร์เฟซสืบทอดอินเทอร์เฟซคอลเลกชันและจัดเก็บชุดของเฉพาะ (ไม่อนุญาตให้ทำซ้ำ) และวัตถุที่ไม่ได้เรียงลำดับ
03. อินเตอร์เฟสรายการสืบทอดอินเทอร์เฟซคอลเลกชันและจัดเก็บชุดของวัตถุที่ไม่ซ้ำกัน
04. อินเทอร์เฟซแผนที่เก็บคู่ของวัตถุคีย์-ค่าโดยให้การแมปคีย์กับค่า คีย์ในแผนที่ไม่ต้องการคำสั่งซื้อและไม่อนุญาตให้ทำซ้ำ ค่ายังไม่ต้องการคำสั่งซื้อ แต่อนุญาตให้ทำซ้ำได้
05. อินเทอร์เฟซตัววนซ้ำเป็นอินเทอร์เฟซที่รับผิดชอบในการกำหนดองค์ประกอบการเข้าถึงและการสำรวจ
เริ่มต้นด้วยการแนะนำ:
1. รายการอินเทอร์เฟซ
อินเทอร์เฟซรายการสืบทอดอินเทอร์เฟซคอลเลกชันและจัดเก็บชุดของวัตถุที่ไม่ซ้ำกัน (ทำซ้ำได้) และมีการสั่งซื้อ (องค์ประกอบวางตามลำดับของการแทรกองค์ประกอบและจะไม่จัดเรียงใหม่)
คลาสทั่วไปที่ใช้อินเตอร์เฟสรายการรวมถึง ArrayList และ LinkedList
ArrayList ห่อหุ้มอาร์เรย์และใช้อาร์เรย์ของความยาวตัวแปร
LinkedList ใช้วิธีการจัดเก็บรายการที่เชื่อมโยงและข้อได้เปรียบคือมันค่อนข้างมีประสิทธิภาพเมื่อแทรกและลบองค์ประกอบ
01. คลาสคอลเลกชัน Arraylist
แพ็คเกจ cn.day001; Penguin คลาสสาธารณะ {ชื่อสตริงส่วนตัว = "Anonymous"; String Private Sex = "Q"; penguin สาธารณะ () {} penguin สาธารณะ (ชื่อสตริง, String sex) {this.name = name; this.sex = เพศ; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } Public String getSex () {return sex; } โมฆะสาธารณะ setsex (String sex) {this.sex = sex; -คลาสทดสอบ:
แพ็คเกจ cn.day001; นำเข้า java.util.arraylist; นำเข้า java.util.iterator; นำเข้า java.util.list; // on-machine 1 arraylist คลาสการทดสอบระดับสาธารณะ สร้างวัตถุเพนกวินหลายตัวเพนกวินเพนกวิน = เพนกวินใหม่ ("นันนัน", "qzi"); เพนกวินเพนกวิน 2 = เพนกวินใหม่ ("Huahua", "qmei"); เพนกวินเพนกวิน 3 = เพนกวินใหม่ ("Zhezhe", "qmei"); // 2. สร้างวัตถุคอลเลกชัน ArrayList และใส่วัตถุเพนกวิน 2 รายการลงในรายการ <Penguin> เพนกวิน = arrayList ใหม่ <Penguin> (); Penguins.add (เพนกวิน); Penguins.add (Penguin2); Penguins.add (Penguin3); // 3. จำนวนเพนกวินในชุดเอาต์พุต System.out.println ("ทั้งหมด" + penguins.size () + "Penguin"); // 4. แสดงสำหรับ (int i = 0; i <penguins.size (); i ++) {penguin pg = (penguin) penguins.get (i); System.out.println (pg.getName ()+"/t"+pg.getsex ()); } // 5 ลบ Zhe Penguin Penguins.remove (Penguin3); // 6. ตรวจสอบว่ายังมี Zhe Penguin อยู่ในชุดถ้า (Penguins.contains (Penguin3)) {System.out.println ("การดำรงอยู่ Zhe Penguin"); } else {system.out.println ("การดำรงอยู่ Zhe Penguin"); } system.out.println (); // 7. ใช้ตัววนซ้ำเพื่อวนซ้ำ System.out.println ("ใช้ตัววนซ้ำ"); ตัววนซ้ำ <Penguin> its = penguins.iterator (); ในขณะที่ (its.hasnext ()) {penguin pg = its.next (); System.out.println ("ชื่อ"+pg.getName ()+"/t เพศ"+pg.getsex ()); } system.out.println (); // 8. ใช้ foreach เพื่อ traverse system.out.println ("ใช้ foreach to traverse"); สำหรับ (Penguin PG: Penguins) {System.out.println ("ชื่อ"+pg.getName ()+"/t เพศ"+pg.getsex ()); -02. linkedlist collection class
แพ็คเกจ cn.day001; นำเข้า java.util.linkedlist; // ทดสอบวิธีพิเศษหลายวิธีของ LinkedList คลาสสาธารณะ test2 {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// 1 สร้างวัตถุเพนกวินหลายตัวเพนกวินเพนกวิน = เพนกวินใหม่ ("นันนัน", "qzi"); เพนกวินเพนกวิน 2 = เพนกวินใหม่ ("Huahua", "qmei"); เพนกวินเพนกวิน 3 = เพนกวินใหม่ ("Zhezhe", "qmei"); // 2. สร้างวัตถุคอลเลกชัน ArrayList และใส่วัตถุเพนกวินสองชิ้นลงในไอที // รายการ <penguin> เพนกวิน = arraylist ใหม่ <Penguin> (); LinkedList <Penguin> Penguins = ใหม่ LinkedList <Penguin> (); Penguins.add (เพนกวิน); Penguins.add (Penguin2); Penguins.add (Penguin3); // 3. เอาต์พุตจำนวนเพนกวินใน Set System.out.println ("ทั้งหมด" + penguins.size () + "Penguin"); // 4. ดูชื่อเล่นของเพนกวินตัวแรกในชุดเพนกวิน FirstPenguins = Penguins.getFirst (); System.out.println ("ชื่อเล่นของเพนกวินตัวแรกคือ:"+firstpenguins.getName ()); // 5. ตรวจสอบชื่อเล่นของนกเพนกวินตัวสุดท้ายในคอลเล็กชั่นเพนกวิน LastPenguins = penguins.getLast (); System.out.println ("ชื่อเล่นของเพนกวินสุดท้ายคือ:"+lastpenguins.getName ()); // 6. ลบเพนกวินตัวแรกและเพนกวินเพนกวินตัวสุดท้าย RemoveFirst (); Penguins.removelast (); System.out.println ("จำนวนของเพนกวินหลังการลบ"+penguins.size ()); - 2. แมปอินเทอร์เฟซ
01. คลาสคอลเลกชัน HASHMAP
แพ็คเกจ cn.day002; นำเข้า java.util.hashmap; นำเข้า java.util.iterator; นำเข้า java.util.map; นำเข้า java.util.scanner; นำเข้า java.util.set; // on-computer2 ค้นหาสัตว์เลี้ยงบนคอมพิวเตอร์ String> pet = new hashmap <string, string> (); สัตว์เลี้ยง ("ฮิฮิ", "สุนัข"); สัตว์เลี้ยง ("ฮ่าฮ่า", "เพนกวิน"); สัตว์เลี้ยง ("ฮ่าฮ่า", "แมว"); สแกนเนอร์อินพุต = ใหม่สแกนเนอร์ (System.in); System.out.println ("โปรดป้อนชื่อเล่นสัตว์เลี้ยง:"); ชื่อสตริง = input.next (); if (pet.containskey (ชื่อ)) {string petname = pet.get (ชื่อ); System.out.println (ชื่อ+"สัตว์เลี้ยงที่สอดคล้องกัน"+petname); } else {system.out.println ("ขออภัยไม่มีสัตว์เลี้ยงที่สอดคล้องกับชื่อเล่นนี้"); } system.out.println (); // วนซ้ำ System.out.println ("ใช้ตัววนซ้ำ traversal"); ตั้งค่า <string> keys = pet.keyset (); // ดึงเอาค่าคีย์ทั้งหมด iterator <string> it = keys.iterator (); // รับวัตถุ iteratoer ในขณะที่ (it.hasnext ()) {สตริงคีย์ = (สตริง) it.next (); ค่า: "+คีย์+"/ค่า tvalue: "+สัตว์เลี้ยง); -บทความข้างต้นการวิเคราะห์เชิงลึกของกรอบการรวบรวมใน Java เป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น