Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

อินเทอร์เฟซ SortedMap ใน C# คือ SortedList

ภาพรวม

ใน Java มี SortedMap interface แต่ใน C# คลาสที่เทียบเท่าคือ SortedList ซึ่งเป็นคอลเลกชันที่จัดเก็บคู่คีย์-ค่า (key-value pairs) และจัดเรียงตามคีย์อัตโนมัติ

โค้ดตัวอย่าง

using System;
using System.Collections;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            SortedList sl = new SortedList();
            sl.Add("ST0", "One");
            sl.Add("ST1", "Two");
            sl.Add("ST2", "Three");

            ICollection keys = sl.Keys;
            foreach (string k in keys) {
                Console.WriteLine(k);
            }
        }
    }
}

ผลลัพธ์

ST0
ST1
ST2

คุณสมบัติหลักของ SortedList

  • จัดเรียงตามคีย์อัตโนมัติ (เรียงจากน้อยไปมาก)
  • เข้าถึงได้ทั้งด้วยคีย์ (เหมือน Hashtable) และดัชนี (เหมือน ArrayList)
  • ไม่รองรับคีย์ซ้ำ (duplicate keys)
  • คีย์และค่าสามารถเป็น null ได้ (สำหรับค่า)
  • ประสิทธิภาพ: O(log n) สำหรับการค้นหา เพิ่ม ลบ

เมื่อไหร่ควรใช้ SortedList

  • ต้องการคอลเลกชัน key-value ที่จัดเรียงตามคีย์
  • ข้อมูลไม่ใหญ่มาก (สำหรับข้อมูลใหญ่ ควรพิจารณา SortedDictionary ซึ่งมีประสิทธิภาพดีกว่าสำหรับการเพิ่ม/ลบ)
  • ต้องการเข้าถึงด้วยดัชนี (index-based access)