ความแตกต่างระหว่าง ArrayList และ Array ใน C # (พร้อมตาราง)

สารบัญ:

Anonim

ใน C # นั้นอาร์เรย์และ ArrayList เป็นประเภทข้อมูลที่ใช้มากที่สุด อาร์เรย์เป็นฟังก์ชันพื้นฐานของภาษาการเขียนโปรแกรม C # ในขณะที่ Arraylist ใน C # เป็นคอลเล็กชัน

ทั้ง Array และ ArrayList ใช้เพื่อเก็บข้อมูล และไม่มีข้อจำกัดเกี่ยวกับประเภทข้อมูลใดๆ ที่จะจัดเก็บ

ArrayList กับ Array ใน C #

ความแตกต่างระหว่าง Array และ ArrayList คืออาร์เรย์จัดเก็บข้อมูลประเภทข้อมูลเดียวกัน ในขณะที่รายการอาร์เรย์สามารถจัดเก็บข้อมูลประเภทข้อมูลต่างๆ ได้

สำหรับการเข้าถึงข้อมูลจาก ArrayList เราจำเป็นต้องวนซ้ำโดยใช้วัตถุ ในขณะที่ในอาร์เรย์คุณสามารถเข้าถึงได้ง่ายโดยไม่ต้องใช้วัตถุใดๆ

ตารางเปรียบเทียบระหว่าง ArrayList และ Array ใน C # (ในรูปแบบตาราง)

พารามิเตอร์ของการเปรียบเทียบ ArrayList Array
พิมพ์ ArrayList เป็นประเภทที่ไม่ใช่แบบทั่วไป Array ถูกพิมพ์อย่างหนัก สามารถจัดเก็บได้เฉพาะค่าประเภทข้อมูลเดียวกันเท่านั้น
จำนวนองค์ประกอบ เป็นไดนามิกจึงสามารถจัดเก็บประเภทข้อมูลได้จำนวนเท่าใดก็ได้ แก้ไขได้เฉพาะจำนวนองค์ประกอบเท่านั้น
ประสิทธิภาพ มันลดประสิทธิภาพการทำงานตั้งแต่ใช้มวยและแกะกล่อง มีประสิทธิภาพที่ดีขึ้น
ค่า NULL สามารถรับค่า NULL ได้ มันไม่ได้
ระดับ มันใช้คลาสคงที่ ใช้เนมสเปซ System.collection

ArrayList ใน C # คืออะไร?

รายการอาร์เรย์จะเริ่มต้นโดยใช้อินเทอร์เฟซรายการ ถือว่าเป็นหนึ่งในข้อมูลที่ยืดหยุ่นที่สุดในภาษา C3 คอลเลกชันในภาษาโปรแกรมเป็นคลาสพิเศษที่เก็บข้อมูลและอนุญาตให้โปรแกรมเมอร์ดึงข้อมูล

ตัวอย่าง

ใช้ System.collection;

ArrayList a = ใหม่ ArrayList();

a.add(1, “สวัสดี”);

ก.เพิ่ม(4);

ก.เพิ่ม(8.23);

ก.เพิ่ม(null);

ฟังก์ชันบางอย่างที่ใช้ในการโต้ตอบกับข้อมูลที่จัดเก็บไว้ในรายการอาร์เรย์

Array ใน C # คืออะไร?

Array เป็นประเภทข้อมูลที่โปรแกรมเมอร์สามารถจัดเก็บข้อมูลประเภทเดียวกันและความยาวคงที่ได้ ค่าของความยาวและข้อมูลไม่สามารถเปลี่ยนแปลงได้ระหว่างรันไทม์ องค์ประกอบอาร์เรย์ทั้งหมดจะได้รับค่าดัชนีและดัชนีอาร์เรย์เป็นศูนย์

ดังนั้นค่าเริ่มต้นคือศูนย์ของดัชนีสำหรับองค์ประกอบแรกในอาร์เรย์ ไวยากรณ์สำหรับการประกาศและกำหนดอาร์เรย์ใน C # มีดังต่อไปนี้ เนื่องจากอาร์เรย์เป็นชนิดข้อมูลอ้างอิง หน่วยความจำของอาร์เรย์จึงถูกจัดสรรในหน่วยความจำฮีป

Int[] array = ใหม่ int[] {10, 20, 30, 40};

10 20 30 40 ข้อมูล

0 1 2 3 ดัชนี

ประเด็นสำคัญบางประการเกี่ยวกับอาร์เรย์

ความแตกต่างหลักระหว่าง ArrayList และ Array ใน C #

  1. ขนาดของอาร์เรย์ได้รับการแก้ไขแล้วและมีการรวบรวมองค์ประกอบประเภทเดียวกันทั้งหมดตามลำดับ ในขณะที่ขนาดรายการอาร์เรย์ไม่คงที่และจะเพิ่มขึ้นด้วย 2^n
  2. มิติของอาร์เรย์และความยาวแต่ละมิติเริ่มต้นเมื่อสร้างอาร์เรย์ ระหว่างรันไทม์ จะไม่สามารถเปลี่ยนค่าความยาวของอาร์เรย์ได้ สำหรับ ArrayList ค่าของความยาวของรายการอาร์เรย์สามารถเปลี่ยนแปลงได้แบบไดนามิก
  3. ดัชนีขององค์ประกอบแรกในอาร์เรย์ 0 และดัชนีขององค์ประกอบสุดท้ายคือ n-1 โดยที่ n คือความยาวของขนาดของอาร์เรย์
  4. ArrayList มีองค์ประกอบของประเภทข้อมูลที่แตกต่างกัน ในขณะที่อาร์เรย์มีข้อมูลประเภทข้อมูลที่คล้ายคลึงกัน ตัวอย่างเช่น ถ้า Array เป็นประเภทจำนวนเต็ม จะสามารถเก็บเฉพาะจำนวนเต็มในอาร์เรย์ได้
  5. Array เป็นประเภทข้อมูลที่พิมพ์อย่างเข้มงวดและมีประสิทธิภาพดีกว่า ArrayList เนื่องจากจำเป็นต้องมีการแกะกล่อง Arraylist และการชกมวยจึงมีประสิทธิภาพน้อยลง
  6. ขนาด ArrayList จะเพิ่มขึ้นโดยอัตโนมัติ ดังนั้น คุณต้องกำหนดขนาดใดๆ

บทสรุป

Array และ Arraylist เป็นประเภทข้อมูลที่ช่วยให้นักพัฒนาสามารถจัดเก็บองค์ประกอบหลายชนิดของประเภทข้อมูลเดียวกันใน Array และประเภทข้อมูลที่แตกต่างกันในรายการอาร์เรย์ นักพัฒนาหลายคนใช้ Arraylist เนื่องจาก Arraylist มีวิธีการที่แตกต่างกันซึ่งไม่มีอยู่ในประเภทข้อมูลอื่น เช่น Repeat(), Reverse(), BinarySearch และอื่นๆ อีกมากมาย

Array ถือเป็นชนิดข้อมูลขนาดคงที่และสามารถเข้าถึงได้ง่าย ในขณะที่ ArrayList จำเป็นต้องใช้วัตถุและใช้ตัวดำเนินการจุดเพื่อเข้าถึงองค์ประกอบที่จัดเก็บไว้ในประเภทข้อมูล

ถ้านักพัฒนาจำเป็นต้องจัดเก็บองค์ประกอบประเภทเดียวกันและต้องมีขนาดคงที่ ก็ควรใช้อาร์เรย์เป็นอย่างอื่น ควรใช้ ArrayList

ทั้งคู่ทำงานเหมือนกันในการจัดเก็บองค์ประกอบ แต่ความแตกต่างที่สำคัญคือขนาดคงที่และขนาดไดนามิก ดังนั้น หากคุณต้องการเก็บข้อมูลประเภทต่างๆ เช่น null, char หรืออื่นๆ คุณควรใช้ ArrayList เนื่องจากเป็นประเภทข้อมูลที่ไม่ใช่แบบทั่วไป

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

ความแตกต่างระหว่าง ArrayList และ Array ใน C # (พร้อมตาราง)