บทช่วยสอน C # ArrayList พร้อมตัวอย่าง
ArrayList ใน C # คืออะไร
คอลเลกชัน ArrayList จะคล้ายกับประเภทข้อมูล Arrays ใน C# ความแตกต่างที่ใหญ่ที่สุดคือลักษณะไดนามิกของคอลเลกชันรายการอาร์เรย์
สำหรับอาร์เรย์ คุณต้องกำหนดจำนวนองค์ประกอบที่อาร์เรย์สามารถเก็บได้ในเวลาของการประกาศอาร์เรย์ แต่ในกรณีของคอลเลกชันรายการอาร์เรย์ ไม่จำเป็นต้องดำเนินการนี้ล่วงหน้า คุณสามารถเพิ่มหรือลบองค์ประกอบจากคอลเลกชันรายการอาร์เรย์ได้ตลอดเวลา มาดูการดำเนินการที่มีให้สำหรับคอลเลกชันรายการอาร์เรย์ในรายละเอียดเพิ่มเติม
การประกาศรายการอาร์เรย์
การประกาศของ ArrayList มีดังต่อไปนี้ รายการอาร์เรย์ถูกสร้างขึ้นด้วยความช่วยเหลือของประเภทข้อมูล ArrayList คำหลัก “ใหม่” ใช้เพื่อสร้างวัตถุของ ArrayList จากนั้นวัตถุจะถูกกำหนดให้กับตัวแปร a1 ตอนนี้ตัวแปร a1 จะถูกใช้เพื่อเข้าถึงองค์ประกอบต่างๆ ของรายการอาร์เรย์
ArrayList a1 = new ArrayList()
การเพิ่มองค์ประกอบให้กับอาร์เรย์
วิธีการเพิ่มใช้เพื่อเพิ่มองค์ประกอบให้กับ ArrayList วิธีการเพิ่มสามารถใช้เพื่อเพิ่มองค์ประกอบประเภทข้อมูลประเภทใดก็ได้ลงในรายการอาร์เรย์ ดังนั้นคุณสามารถเพิ่มจำนวนเต็ม สตริง หรือแม้แต่ค่าบูลีนลงในรายการอาร์เรย์ได้ ไวยากรณ์ทั่วไปของวิธีการบวกมีดังต่อไปนี้
ArrayList.add(element)
ด้านล่างนี้เป็นตัวอย่างวิธีการใช้เมธอด "เพิ่ม" วิธีการเพิ่มสามารถใช้เพื่อเพิ่มประเภทข้อมูลต่างๆ ให้กับคอลเลกชันรายการอาร์เรย์
ด้านล่างนี้คุณสามารถดูตัวอย่างวิธีที่เราสามารถเพิ่มสตริงของจำนวนเต็มและแม้แต่ค่าบูลีนให้กับคอลเลกชันรายการอาร์เรย์
- a1.add(1) – สิ่งนี้จะเพิ่มค่าจำนวนเต็มให้กับคอลเลกชัน
- a1.add("ตัวอย่าง") – สิ่งนี้จะเพิ่มค่า String ให้กับคอลเลกชัน
- a1.add(true) – สิ่งนี้จะเพิ่มค่าบูลีนให้กับคอลเลกชัน
ตอนนี้เรามาดูการทำงานในระดับรหัสกัน โค้ดที่กล่าวถึงด้านล่างทั้งหมดจะถูกเขียนลงในแอปพลิเคชันคอนโซลของเรา รหัสจะถูกเขียนลงในไฟล์ Program.cs ของเรา
ในโปรแกรมด้านล่าง เราจะเขียนโค้ดเพื่อสร้างรายการอาร์เรย์ใหม่ นอกจากนี้เรายังจะแสดงเพื่อเพิ่มองค์ประกอบและเพื่อแสดงองค์ประกอบของรายการอาร์เรย์
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1[0]); Console.WriteLine(a1[1]); Console.WriteLine(a1[2]); Console.ReadKey(); } } }
คำอธิบายรหัส:-
- ขั้นตอนแรกใช้ในการประกาศรายการอาร์เรย์ของเรา ที่นี่เรากำลังประกาศ a1 เป็นตัวแปรเพื่อเก็บองค์ประกอบของรายการอาร์เรย์ของเรา
- จากนั้นเราใช้คีย์เวิร์ด add เพื่อเพิ่มหมายเลข 1, String “Example” และค่าบูลีน 'true' ลงในรายการอาร์เรย์
- จากนั้นเราใช้วิธี Console.WriteLine เพื่อแสดงค่าขององค์ประกอบรายการอาร์เรย์แต่ละรายการไปยังคอนโซล คุณจะสังเกตเห็นว่าเช่นเดียวกับอาร์เรย์ เราสามารถเข้าถึงองค์ประกอบต่างๆ ผ่านตำแหน่งดัชนีของมันได้ ดังนั้นในการเข้าถึงตำแหน่งแรกของรายการอาร์เรย์ เราใช้ตำแหน่งดัชนี [0] และอื่น ๆ และอื่น ๆ.
หากป้อนโค้ดด้านบนอย่างถูกต้องแล้วและรันโปรแกรมจะแสดงผลลัพธ์ต่อไปนี้
Output:
จากเอาต์พุต คุณจะเห็นว่าองค์ประกอบทั้งหมดจากรายการอาร์เรย์ถูกส่งไปยังคอนโซล
ลองดูวิธีการเพิ่มเติมบางอย่างที่เป็นส่วนหนึ่งของ ArrayList
นับ
วิธีการนี้ใช้เพื่อรับจำนวนรายการในคอลเลกชัน ArrayList ด้านล่างนี้คือไวยากรณ์ทั่วไปของคำสั่งนี้
ArrayList.Count() – วิธีการนี้จะส่งคืนจำนวนองค์ประกอบที่มีอยู่ในรายการอาร์เรย์
ประกอบด้วย
วิธีการนี้ใช้เพื่อดูว่ามีองค์ประกอบอยู่ในคอลเลกชัน ArrayList หรือไม่ ด้านล่างนี้คือไวยากรณ์ทั่วไปของคำสั่งนี้
ArrayList.Contains(element) – เมธอดนี้จะคืนค่าเป็นจริงหากมีองค์ประกอบนั้นอยู่ในรายการ มิเช่นนั้นจะส่งคืนค่าเท็จ
ลบที่
วิธีการนี้ใช้ในการลบองค์ประกอบที่ตำแหน่งเฉพาะในคอลเลกชัน ArrayList ด้านล่างนี้คือไวยากรณ์ทั่วไปของคำสั่งนี้
ArrayList.RemoveAt(index) – วิธีนี้จะลบองค์ประกอบออกจากตำแหน่งเฉพาะของรายการอาร์เรย์
ตอนนี้เรามาดูการทำงานในระดับรหัสกัน โค้ดที่กล่าวถึงด้านล่างทั้งหมดจะถูกเขียนลงในแอปพลิเคชันคอนโซลของเรา รหัสจะถูกเขียนลงในไฟล์ Program.cs ของเรา
ในโปรแกรมด้านล่างเราจะเขียนโค้ดเพื่อดูว่าเราสามารถใช้วิธีการที่กล่าวมาข้างต้นได้อย่างไร
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } }
คำอธิบายรหัส:-
- คุณสมบัติแรกที่เราเห็นคือคุณสมบัติ Count เราได้รับคุณสมบัติ Count ของรายการอาร์เรย์ a1 แล้วเขียนลงในคอนโซล
- ในส่วนที่สอง เราใช้เมธอดประกอบด้วยเพื่อดูว่า ArrayList a1 มีองค์ประกอบ 2 หรือไม่ จากนั้นเราจะเขียนผลลัพธ์ไปยังคอนโซลโดยใช้คำสั่ง Writeline
- สุดท้ายนี้ เพื่อแสดงวิธีการลบองค์ประกอบ เรากำลังดำเนินการตามขั้นตอนด้านล่าง
- ขั้นแรก เราเขียนค่าขององค์ประกอบที่ตำแหน่งดัชนี 1 ของรายการอาร์เรย์ไปยังคอนโซล
- จากนั้นเราจะลบองค์ประกอบที่ตำแหน่งดัชนี 1 ของรายการอาร์เรย์
- สุดท้ายนี้ เราจะเขียนค่าขององค์ประกอบอีกครั้งที่ตำแหน่งดัชนี 1 ของรายการอาร์เรย์ไปยังคอนโซล ขั้นตอนชุดนี้จะให้แนวคิดที่ยุติธรรมว่าวิธีการลบจะทำงานตามที่ควรจะเป็นหรือไม่
หากป้อนโค้ดด้านบนอย่างถูกต้องแล้วและรันโปรแกรมจะแสดงผลลัพธ์ต่อไปนี้
Output:
เหตุใดค่าสุดท้ายจึงเป็นจริง
หากคุณเห็นลำดับของเหตุการณ์ องค์ประกอบ Example จะถูกลบออกจากอาร์เรย์เนื่องจากอยู่ที่ตำแหน่ง 1 ตำแหน่งที่ 1 ของอาร์เรย์จะถูกแทนที่ด้วยสิ่งที่อยู่ในตำแหน่งที่ 2 ก่อนหน้าซึ่งค่า 'จริง'
สรุป
คอลเลกชัน Array List ใช้เพื่อจัดเก็บกลุ่มขององค์ประกอบ ข้อดีของการรวบรวมรายการ Array คือเป็นแบบไดนามิก คุณสามารถเพิ่มและลบองค์ประกอบได้ทันทีไปยังคอลเลกชันรายการอาร์เรย์