บทความนี้สาธิตวิธีการลบสมาชิก (element) ที่ดัชนี (index) ที่ระบุจาก ArrayList โดยใช้ method RemoveAt(int index)
ตัวอย่างที่ 1: ลบดัชนี 5 จาก ArrayList
using System;
using System.Collections;
public class Demo
{
public static void Main(String[] args)
{
ArrayList list1 = new ArrayList();
list1.Add("A");
list1.Add("B");
list1.Add("C");
list1.Add("D");
list1.Add("E");
list1.Add("F");
list1.Add("G");
list1.Add("H");
list1.Add("I");
Console.WriteLine("Elements in ArrayList1...");
foreach (string res in list1)
{
Console.WriteLine(res);
}
ArrayList list2 = new ArrayList();
list2.Add("A");
list2.Add("B");
list2.Add("C");
list2.Add("D");
list2.Add("E");
list2.Add("F");
list2.Add("G");
list2.Add("H");
list2.Add("I");
Console.WriteLine("Elements in ArrayList2...");
foreach (string res in list2)
{
Console.WriteLine(res);
}
Console.WriteLine("Count of elements in ArrayList2 = " + list2.Count);
list2.RemoveAt(5); // ลบ index 5 (F)
Console.WriteLine("Count of elements in ArrayList2 (Updated) = " + list2.Count);
}
}
ผลลัพธ์
Elements in ArrayList1... A B C D E F G H I Elements in ArrayList2... A B C D E F G H I Count of elements in ArrayList2 = 9 Count of elements in ArrayList2 (Updated) = 8
ตัวอย่างที่ 2: ลบดัชนี 2 จาก ArrayList อื่น
using System;
using System.Collections;
public class Demo
{
public static void Main(String[] args)
{
ArrayList list1 = new ArrayList();
list1.Add("Laptop");
list1.Add("Desktop");
list1.Add("Wearables");
list1.Add("Tablet");
list1.Add("Notebook");
list1.Add("Ultrabooks");
Console.WriteLine("Elements in ArrayList1...");
foreach (string res in list1)
{
Console.WriteLine(res);
}
Console.WriteLine("Count of elements in ArrayList = " + list1.Count);
list1.RemoveAt(2); // ลบ index 2 (Wearables)
Console.WriteLine("Count of elements in ArrayList (Updated) = " + list1.Count);
}
}
ผลลัพธ์
Elements in ArrayList1... Laptop Desktop Wearables Tablet Notebook Ultrabooks Count of elements in ArrayList = 6 Count of elements in ArrayList (Updated) = 5
คำอธิบายเพิ่มเติม
ArrayListเป็น non-generic collection (เก็บ object) - แนะนำใช้List<T>แทนในโค้ดใหม่RemoveAt(int index)ลบรายการที่ดัชนีที่ระบุ (0-based)- โยน
ArgumentOutOfRangeExceptionถ้าดัชนีอยู่นอกช่วง - หลังลบแล้ว รายการถัดไปจะเลื่อนมาทับ (shift left) - index ของรายการหลังจะลดลง 1
- เวลา complexity: O(n) - ต้องเลื่อนข้อมูล
- Method คล้ายกัน:
Remove(object)ลบค่าแรกที่พบ,RemoveRange(index, count)ลบช่วง,Clear()ลบทั้งหมด