Generics & Collections

Một số kiểu danh sách phổ biến

  • Array (System)
  • ArrayList (System.Collections) -> should not be used
  • List, LinkedList, Queue, Stack (System.Collections.Generics)

Array

  • có kích thước cố định
  • cần mảng đa chiều
  • truy vấn theo index

List <T>

  • cần kích thước động
  • dễ thêm, bớt dữ liệu
  • đảm bảo chung 1 kiểu dữ liệu
  • truy vấn theo index
  • có thể add, insert và remove phần tử

Generic Dictionary <T,V>

  • Lưu theo từng cặp <key, value>
  • Keys : duy nhất, không trống, không được thay đổi
  • Truy vấn bằng keys
  • Values có thể lập nhưng keys phải duy nhất
  • Kiểm tra xem key có tồn tại không với ContainsKey(<key>) or TryGetValue (<key>, out <value>)
  • Lặp qua dictionary hay dictionary.Keys hay dictionary.Values

Một số kiểu Dictionaries

  • Dictionary <K, V>: phổ biến nhất, key không sắp xếp
  • SortedList <K, V>: key đc sắp xếp, nhanh hơn khi chuyển dữ liệu đã được sắp xếp vào SortedList
  • SortedDictionary <K, V>: key đc sắp xếp, nhanh hơn khi chuyển dữ liệu chưa đc sắp xếp

Using Collection Interfaces

  • dùng tham số có kiểu interface thay vì 1 kiểu concrete, ví dụ: IList (có thể dùng cả List lẫn Array) hay ICollection (có thể dùng cả Array, List, Dictionary)
  • dùng làm kiểu dữ liệu trả về, ví dụ hàm getProductList() có thể trả về Array, List, Dictionary khi khai báo kiểu dữ liệu trả về ICollection

Title Text

  • Bullet One
  • Bullet Two
  • Bullet Three

Generics-Collections

By Linh Ngo

Generics-Collections

  • 142