บทความนี้ส่วนใหญ่ศึกษาความแตกต่างระหว่าง ArrayList และ LinkedList และเนื้อหาที่เกี่ยวข้องของสถานการณ์การใช้งานในการเขียนโปรแกรม Java รายละเอียดมีดังนี้
1. ArrayList ถูกนำไปใช้ตามอาร์เรย์และตัวสร้างคือ:
วัตถุชั่วคราวส่วนตัว [] ElementData; ขนาด int ส่วนตัว;
เมื่อ arrylist เริ่มต้นขนาดอาร์เรย์ ElementData จะเริ่มต้นเป็น 10;
ทุกครั้งที่เพิ่ม () การโทรครั้งแรก ensureCapacity () เพื่อให้แน่ใจว่าอาร์เรย์จะไม่ล้น หากเต็มในเวลานี้จะมีการขยายเป็น 1.5 เท่า + 1 ของความยาวอาร์เรย์จากนั้นใช้เมธอดอาร์เรย์เพื่อคัดลอกอาร์เรย์ดั้งเดิมไปยังอาร์เรย์ใหม่
เธรด ArrayList ไม่ปลอดภัยวิธีการเวกเตอร์เป็นแบบซิงโครนัส, เธรด-ปลอดภัย;
2. LinkedList ถูกนำไปใช้ตามรายการเชื่อมโยงสองรายการ:
องค์ประกอบวัตถุ; รายการถัดไปก่อนหน้า;
ในระหว่างการเริ่มต้นจะมีรายการส่วนหัวที่มีค่า null;
ข้อดีของการใช้ส่วนหัวคือมีรายการก่อนเข้าและรายการโพสต์เข้าในรายการใด ๆ (รวมถึงครั้งแรกและครั้งสุดท้าย) ดังนั้นจึงไม่มีสถานที่พิเศษในการดำเนินการแทรกที่จุดเริ่มต้นหรือจุดสิ้นสุดของวัตถุ LinkedList;
ใช้สถานการณ์:
(1) หากแอปพลิเคชันดำเนินการเข้าถึงหรือลบจำนวนมากในองค์ประกอบในแต่ละตำแหน่งดัชนีวัตถุ ArrayList นั้นดีกว่าวัตถุ LinkedList มาก
(2) หากแอปพลิเคชันส่วนใหญ่วนรายการและแทรกหรือลบการดำเนินการระหว่างการวนซ้ำวัตถุ LinkedList นั้นดีกว่าวัตถุ ArrayList
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับความแตกต่างระหว่าง ArrayList และ LinkedList และการวิเคราะห์รหัสสถานการณ์การใช้งาน ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!