Bài 11
Collection(tập hợp)
Ô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
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
Subject name / Session# / 3 of Totalpage
• Lớp LinkedList
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
(cid:0) Kích thước của mảng không thể thay đổi lúc thực thi chương
mảng có một số nhược điểm:
(cid:0) Các phần tử lưu trong mảng phải có cùng một kiểu dữ liệu
(cid:0) Mảng không có phương thức nào để thao tác với các phần tử
trình
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.
Collection
So sánh mảng và tập hợp
Collection
System.Collection namespace
(cid:0) Đâ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
Collection
System.Collection namespace
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.
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.
Collection
Các phương thức và thuộc tính thông dụng
Ví dụ DEMO về ArrayList
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
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ử.
Collection
Các phương thức và thuộc tính thông dụng của lớp SortedList
Ví dụ DEMO
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.
Collection
Cú pháp: Dictionary Ví dụ DEMO • Stack là một cấu trúc dữ liệu theo kiểu LIFO(Last In và First Out) Ví dụ DEMO • Cấu trúc dữ liệu tổ chức theo kiểu FIFO • Cấu trúc dữ liệu liên kết đôi • 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à LinkedListCollection
Lớp Stack
Collection
Lớp Queue
Lớp LinkedList
Collection
Tổng kết

