ความแตกต่างระหว่าง java array และ arraylist
1) คำอธิบายที่แหลม:
คิดว่า ArrayList เป็น "อาร์เรย์ที่ขยายความสามารถโดยอัตโนมัติ"
2) อาร์เรย์ ([]): มีประสิทธิภาพมากที่สุด
ArrayList: ความสามารถสามารถเติบโตได้
3) ข้อเสนอแนะ:
ควรใช้อาร์เรย์ให้มากที่สุดเท่าที่จะทำได้
แต่เมื่อคุณพยายามที่จะแก้ปัญหาทั่วไปมากขึ้นฟังก์ชั่นของอาเรย์อาจ จำกัด เกินไป
4) ทุกอย่างในชวาเป็นวัตถุและอาร์เรย์ก็เป็นวัตถุ โดยไม่คำนึงถึงประเภทอาร์เรย์ที่คุณใช้
ชื่ออาร์เรย์เองนั้นเป็นข้อมูลอ้างอิงโดยชี้ไปที่วัตถุจริงภายในกอง
วัตถุนี้สามารถสร้างได้โดยอัตโนมัติผ่าน "ไวยากรณ์การเริ่มต้นอาร์เรย์" หรือด้วยตนเองในนิพจน์ใหม่
5) อาเรย์สามารถใช้เป็นค่าคืนฟังก์ชั่นเพราะมันเป็นข้อมูลอ้างอิงของวัตถุ
6) อาร์เรย์วัตถุเกือบจะเหมือนกับอาร์เรย์ประเภทพื้นฐานที่ใช้งาน
ตัวอย่างเช่น:
สตริง [] พนักงาน = สตริงใหม่ [100]; int [] num = new int [10];
7) สิ่งที่คอนเทนเนอร์ถือเป็นจริงการอ้างอิงชี้ไปที่วัตถุเพื่อให้สามารถเก็บประเภทใดก็ได้ แน่นอนว่าสิ่งนี้ไม่รวมประเภทพื้นฐานเนื่องจากประเภทพื้นฐานไม่ได้รับมรดกจากคลาสใด ๆ
8) ในการเผชิญหน้ากับอาร์เรย์เราสามารถเก็บอาร์เรย์ของค่าประเภทพื้นฐานโดยตรง (ตัวอย่างเช่น: int [] num;) หรืออาร์เรย์ของการอ้างอิง (ชี้ไปที่วัตถุ) อย่างไรก็ตามคลาส wrapper อาจไม่ง่ายต่อการใช้งาน
แน่นอนว่าหากวัตถุปฏิบัติการของคุณเป็นประเภทพื้นฐานและจำเป็นต้องขยายความจุโดยอัตโนมัติเมื่อมีพื้นที่ไม่เพียงพออาร์เรย์จะไม่เหมาะสมดังนั้นคุณต้องใช้คอนเทนเนอร์ประเภทฝาครอบ
9) ในบางกรณีคลาสคอนเทนเนอร์ยังสามารถทำงานได้อย่างถูกต้องแม้ว่าพวกเขาจะไม่ได้เปลี่ยนเป็นประเภทดั้งเดิม มีสถานการณ์ที่พิเศษเป็นพิเศษ: คอมไพเลอร์ให้การสนับสนุนเพิ่มเติมสำหรับคลาสสตริงเพื่อให้ทำงานได้อย่างราบรื่น
10) การดำเนินการพื้นฐานบางอย่างในอาร์เรย์เช่นการเรียงลำดับการค้นหาและการเปรียบเทียบเป็นเรื่องธรรมดามาก ดังนั้นคลาสอาร์เรย์จึงมีให้ใน Java เพื่อช่วยในการดำเนินการเหล่านี้: sort (), binarySearch (), equals (), fill (), aslist ()
อย่างไรก็ตามคลาสอาร์เรย์ไม่ได้ให้วิธีการลบและมีวิธีการลบ () ใน ArrayList
11) การใช้ ArrayList นั้นง่ายมากเช่นกัน: สร้าง ArrayList ใช้ ADD () เพื่อวางวัตถุและใช้ GET (i) เพื่อให้ตรงกับค่าดัชนีเพื่อลบออก ทั้งหมดนี้เป็นสิ่งเดียวกับการใช้งานของอาร์เรย์ แต่มีเพียง []
2. วัสดุอ้างอิง:
1) ประสิทธิภาพ:
การขยายตัวของอาเรย์เป็นปัจจัยที่มีผลกระทบมากขึ้นต่อประสิทธิภาพของ ArrayList
เมื่อใดก็ตามที่วิธีการเช่นเพิ่ม, addrange, แทรก, การแทรกถูกดำเนินการพวกเขาจะตรวจสอบว่าความสามารถของอาร์เรย์ภายในไม่เพียงพอหรือไม่
ArrayList เป็นอาร์เรย์รุ่นที่ซับซ้อน
ArrayList ห่อหุ้มอาร์เรย์ประเภทวัตถุโดยทั่วไปมันไม่มีความแตกต่างที่สำคัญจากอาร์เรย์
2) ประเภทการระบุ:
เมื่อ ArrayList เก็บวัตถุข้อมูลประเภทจะถูกยกเลิกและวัตถุทั้งหมดจะถูกบล็อกเป็นวัตถุ
ความแตกต่างระหว่าง ArrayList และ Array ส่วนใหญ่เกิดจากประสิทธิภาพของการเพิ่มความจุแบบไดนามิก
3) ArrayList สามารถจัดเก็บวัตถุใด ๆ เช่นสตริง ฯลฯ
ขอบคุณสำหรับการอ่านฉันหวังว่ามันจะช่วยคุณได้