Bài giảng C# và môi trường Donet - Bài 11: Collection (Tập hợp)

ppt 18 trang phuongnguyen 4010
Bạn đang xem tài liệu "Bài giảng C# và môi trường Donet - Bài 11: Collection (Tập hợp)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_c_va_moi_truong_donet_bai_11_collection_tap_hop.ppt

Nội dung text: Bài giảng C# và môi trường Donet - Bài 11: Collection (Tập hợp)

  1. Bài 11 Collection(tập hợp)
  2. ▪ Ôn tập lại bài cũ • Khái niệm Exception • Phân loại Exception • Exception classes • Các thuộc tính của lớp Exception • Bắt và xử lý ngoại lệ (Exception handling) • Câu lệnh Throw • Câu lệnh Finally
  3. Collection ▪ Nội dung trình bày • Collection(tập hợp) là gì? • System.Collection namespace • System.Collection.Generic namespace • Lớp ArrayList • Lớp HashTable • Lớp SortedList • Lớp Dictionary • Lớp Stack • Lớp Queue • Lớp LinkedList Subject name / Session# / 3 of Totalpage
  4. Collection ▪ Collection(tập hợp) là gì? • Giả sử cần phải viết chương trình nhập vào dãy số. Cấu trúc dữ liệu để lưu trữ dãy số chúng ta nghĩ ngay đến là dùng mảng. Tuy nhiên mảng có một số nhược điểm: − Kích thước của mảng không thể thay đổi lúc thực thi chương trình − Các phần tử lưu trong mảng phải có cùng một kiểu dữ liệu − Mảng không có phương thức nào để thao tác với các phần tử trong mảng • Tập hợp là khái niệm để chỉ tập các phần tử. Ví dụ tập hợp các đối tượng của một lớp hoặc tập các đối tượng của nhiều lớp, tập các số nguyên, tập các chuỗi.
  5. Collection ▪ So sánh mảng và tập hợp
  6. Collection ▪ System.Collection namespace − Đây là namspace chứa các lớp để thao tác với tập các đối tượng(tập hợp). Dưới đây là bảng liệt kê các lớp và interface có trong namespace này
  7. Collection ▪ System.Collection namespace
  8. Collection ▪ System.Collection.Generic • Namespace Sysmte.Collection.Generic giống như namespace System.Collection. Tuy nhiên các lớp trong System.Collection.Generic là các lớp generic.
  9. Exception Handling ▪ Lớp ArrayList • Là lớp lưu trữ tập các đối tượng theo kiểu mảng, tức là truy xuất các đối tượng trong tập hợp theo chỉ số. • Kích thước mặc định của ArrayList là 16 byte.Kích thước của ArrayList có thể thay đổi lúc thực thi. Nếu các phần tử được lấp đầy, kích thước của ArrayList sẽ tự động tăng gấp đôi. • ArrayList có thể lưu các phần tử thuộc các kiểu dữ liệu khác nhau. ArrayList cho phép lưu giá trị null cũng như giá trị trùng lặp.
  10. Collection ▪ Các phương thức và thuộc tính thông dụng ▪ Ví dụ DEMO về ArrayList
  11. Collection ▪ Lớp Hashtable • Cho phép tạo ra một tập hợp dưới dạng key và value. • Key sẽ được dùng để sinh ra Hash code tương ứng. Và Hash code sẽ dùng để xác định key và value tương ứng. • Ví dụ DEMO
  12. Collection ▪ Lớp SortedList • SortedList là lớp kết hợp của Hashtable và ArrayList, có nghĩa là các phần tử trong tập hợp bao gồm key và value, các phần tử được truy xuất theo chỉ số. • Sự khác nhau giữa Hastable và SortedList là các phần tử trong SortedList được sắp xếp theo key của nó. Việc thực thi chương trình sử dụng SortedList chậm hơn chương trình sử dụng Hashtable do có quá trình sắp xếp các phần tử.
  13. Collection ▪ Các phương thức và thuộc tính thông dụng của lớp SortedList ▪ Ví dụ DEMO
  14. Collection ▪ Lớp Dictionary • Là lớp tạo ra tập hợp các phần tử kiểu generic gồm có key và value. Có nghĩa là nó chỉ cho phép lưu một tập các phần tử có cặp key và value có cùng kiểu dữ liệu. • Dictonary không có cho phép lưu trữ giá trị null.
  15. Collection ▪ Cú pháp: Dictionary<Tkey, Tvalue); ▪ Ví dụ DEMO
  16. Collection ▪ Lớp Stack • Stack là một cấu trúc dữ liệu theo kiểu LIFO(Last In và First Out) ▪Ví dụ DEMO
  17. Collection ▪ Lớp Queue • Cấu trúc dữ liệu tổ chức theo kiểu FIFO ▪ Lớp LinkedList • Cấu trúc dữ liệu liên kết đôi
  18. Collection ▪ Tổng kết • Khái niệm collection • System.Collection namespace • System.Collection.Generics namespace • Lớp ArrayList • Lớp Hastable • Lớp SortedList • Lớp Dictionary • Lớp Stack • Lớp Que và LinkedList