-
ArrayList คืออะไร ?
ArrayList คือ Array ที่ขยายขนาดได้เอง
-
Exerxise 1 : ArrayList 🔗
Exercise 1.1 : จงเขียนโปรแกรมสร้าง ArrayList ด้วยภาษา Java ให้มี function ต่างๆดังนี้ แล้วหา Big-O ของแต่ละ function - add() : เพิ่มข้อมูลลง ArrayList - get() : ดึงข้อมูลจาก ArrayList - set() : แก้ไขข้อมูลใน ArrayList - toString() : : ปริ้น ArrayList ในform [a,b,c]
Exercise 1.2 : จงเขียนโปรแกรมสร้าง ArrayList แบบ Generic
ArrayList Conclusion
- เพิ่ม หรือลบข้อมูล (insert/add/remove/delete) : O(n) เพราะ ถ้าลบ/เพิ่มจากหัวต้องมีการกระเถิบ n ครั้ง ถ้าเพิ่มหรือลบตรงตูดจะ O(1) เป็น best case เพราะทำได้เลย แต่วิเคราะห์ประสิทธิภาพเราจะดูแค่ worst case (Big-O)
- การดึง หรือเข้าถึงข้อมูล (Acess/get) : O(1)
- set ข้อมูล : O(1)
จะเห็นว่า ArrayList เร็วมาก แต่มีข้อเสียตรงที่ ต้องจองพื้นที่ไว้เหลือๆ ซึ่งเป็นการเปลือง space จึงมีคนคิด Linked List ขึ้นมา
-
Exerxise 2 : Particle ----- [ ตัวอย่าง Particle อื่นๆ ] 🔗
Exercise 2 : จงเขียนโปรแกรมสร้าง Particle โดยเอา ArrayList จากข้อที่แล้วมาประยุกต์ใช้