Tải bản đầy đủ (.pdf) (31 trang)

bài 3 collection trong vb.net

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (988.37 KB, 31 trang )

Bài 3:
COLLECTION TRONG VB.NET
Nhắc lại khái niệm lập trình hướng thủ tục (Procedural
Programming)
Tìm hiểu các khái niệm và ý nghĩa Lập trình hướng đối
tượng (OOP)
Lập trình hướng đối tượng trong VB.Net
Nhắc lại bài cũ
Slide 3 - Collection trong VB.Net
2
Tìm hiểu về Collection trong VB.Net:
Khái niệm Collection
Phân loại các Collection
Lớp Collection trong VB.Net
Lớp CollectionBase trong VB.Net
Mục tiêu bài học hôm nay
Slide 3 - Collection trong VB.Net
3
Collection (tập hợp): là một kiểu dữ liệu cho phép lưu
một tập hợp các đối tượng dữ liệu, theo một cách tổ
chức dữ liệu nhất định (ví dụ tổ chức theo dạng tập, cây,
danh sách,…)
Có thể phân loại thành:
Tập hợp tuyến tính
Tập hợp phi tuyến tính
Khái niệm
Slide 3 - Collection trong VB.Net
4
Các phần tử được sắp xếp theo vị trí
Thứ tự truy cập:
Truy cập trực tiếp


Truy cập tuần tự
Tập hợp tuyến tính
Slide 3 - Collection trong VB.Net
5
Ví dụ: Mảng là một tập các phần tử có cùng kiểu dữ liệu
và các phần tử được truy cập trực tiếp thông qua các chỉ
số là các số nguyên
Tập hợp truy cập trực tiếp
Slide 3 - Collection trong VB.Net
6
2
3
5
7
11
13
17
0
1
2
3
4
5
6
Thứ tự truy cập
Vị trí:
Tập hợp được thiết kế chỉ cho phép duyệt từ đầu tới cuối
tập hợp hoặc từ cuối tập hợp ngược lại.
Ví dụ:
Ngăn xếp (Stack)

Hàng đợi (Queue)
Danh sách liên kết (Linked list)
Tập hợp truy cập tuần tự
Slide 3 - Collection trong VB.Net
7
Ví dụ: danh sách liên kết là một tập các phần tử có cùng
kiểu dữ liệu và việc truy cập các phần tử được tiến hành
tuần tự từ đầu danh sách đến cuối danh sách
Tập hợp truy cập tuần tự
Slide 3 - Collection trong VB.Net
8
HHình minh họa một danh sách liên kết. Việc duyệt danh sách này
được tiến hành từ phần tử đầu 18, lần lượt đến 24, 39, …
Các phần tử không được sắp xếp theo vị trí
Thứ tự truy cập:
Truy cập theo phân cấp. Ví dụ: Cây (Tree)
Truy cập theo phân nhóm. Ví dụ: Đồ thị…
Tập hợp phi tuyến tính
Slide 3 - Collection trong VB.Net
9
Ví dụ: Cây (Tree) là một cấu trúc phi tuyến tính
Truy nhập các phần tử theo cấp từ nút gốc đến nút lá ->
cây biểu diễn mảng {13, 12, 10, 7, 11, 8, 9}
Truy cập theo phân cấp
Slide 3 - Collection trong VB.Net
10
HHình minh họa một cấu trúc dữ liệu dạng cây
Tập phi tuyến tính với các phần tử không được sắp xếp
thứ tự được gọi là nhóm
Tập hợp nhóm được phân chia thành ba nhóm chính là:

Set, đồ thị (graph) và mạng lưới (network)
Truy cập theo phân nhóm
Slide 3 - Collection trong VB.Net
11
Ví dụ: Đồ thị mô tả mạng lưới các thành phố
Truy cập theo phân nhóm
Slide 3 - Collection trong VB.Net
12
HHình minh họa một đồ thị mô tả mạng lưới các
thành phố
Có hai lớp cài đặt cấu trúc dữ liệu collection trong
VB.Net
Sử dụng lớp Collection
Sử dụng lớp CollectionBase
Cài đặt tập hợp trong VB.Net
Slide 3 - Collection trong VB.Net
13
Tính chất:
Các phần tử không giới hạn vào tập hợp
Các phần tử có kiểu bất kì được thêm vào collection đều được
lưu với kiểu Object.
Sử dụng lớp Collection
Slide 3 - Collection trong VB.Net
14
Sử dụng lớp Collection
Slide 3 - Collection trong VB.Net
15
String
Integer
Real

Object
Object
Object
Hình minh họa các phần tử có kiểu bất kì đều được lưu
trong Collection với kiểu là Object
Cách khai báo: Dim names As New Collection
Trong đó:
“names” là tên của collection
Sử dụng lớp Collection
Slide 3 - Collection trong VB.Net
16
Lớp Collection cung cấp một số thuộc tính chính:
Lớp Collection cung cấp một số phương thức chính:
Sử dụng lớp Collection
Slide 3 - Collection trong VB.Net
17
Có thể xem chi tiết API của lớp trên MSDN
/>Thuộ c tính (Property)
Giải thích
Count
cho biết số phần tử có trong collection
Item
trả về một phần tử của collection theo chỉ số
hoặc khóa
Add
thêm phần tử vào collection
Remove
xóa một phần tử khỏi collection
Clear
xóa tất cả các phần tử của collection

Ví dụ: dùng phương thức Add để thêm dữ liệu vào
Collection
Phương thức Add
Slide 3 - Collection trong VB.Net
18
Dim names As New Collection
' Thêm tên các phần tử vào Collection
names.Add("David Durr")
names.Add("Raymond Williams")
names.Add("Bernica Tackett")
names.Add("Beata Lovelace")
Ví dụ: Thêm tên các phần tử vào tập hợp cùng với khóa (key) đi
kèm. Lưu ý: khóa của mỗi phần tử phải là biểu thức String duy nhất
Phương thức Add
Slide 3 - Collection trong VB.Net
19
Dim names As New Collection
' Thêm tên các phần tử vào Collection
names.Add("David Durr", “300")
names.Add("Raymond Williams“, “301")
names.Add("Bernica Tackett“, “302")
names.Add("Beata Lovelace“, “303")
'Hiển thị số phần tử có trong Collection
Console.WriteLine(names.Count)
Ví dụ: thêm các phần tử vào tập hợp cùng với khóa và
chỉ định vị trí thêm vào trong tập hợp.
Phương thức Add
Slide 3 - Collection trong VB.Net
20
Dim names As New Collection

names.Add("David Durr", “300")
names.Add("Raymond Williams“, “301")
'Chỉ định vị trí thêm vào trước phần tử đầu tiên
names.Add("Bernica Tackett“, “302“, 1)
'Chỉ định vị trí thêm vào trước phần tử thứ 3
names.Add("Beata Lovelace“, “303“, 3)
Ví dụ: Hiển thị ra màn hình thông tin mỗi phần tử trong
collection thông qua thuộc tính Item truyền theo chỉ số:
Thuộc tính Item
Slide 3 - Collection trong VB.Net
21
' Khai báo biến index
Dim index As Integer
'Hiển thị ra màn hình
For index = 1 To names.Count
Console.WriteLine(names.Item(index))
Next
Ví dụ: Hiển thị ra màn hình thông tin mỗi phần tử trong
tập hợp thông qua thuộc tính Item truyền theo khóa
(với trường hợp các phần tử có chỉ số bắt đầu từ 300):
Thuộc tính Item
Slide 3 - Collection trong VB.Net
22
Dim index As Integer 'khai báo biến index
Dim key As Integer = 300 'khai báo biến key
Dim name As String 'khai báo biến lặp
'Hiển thị ra màn hình tên mỗi phần tử trong
Collection
For Each name In names
key = CStr(index)

Console.WriteLine(names.Item(key))
index += 1
Next
Khi lấy một phần tử ra khỏi Collection, phần tử sẽ có
kiểu đối tượng. Để chuyển kiểu tường minh, cần dùng
hàm chuyển CType
Chuyển đổi kiểu đối tượng
lấy từ Collection
Slide 3 - Collection trong VB.Net
23
Option Strict On
Dim myString As String = "This is my String"
Dim aString As String
Dim myCollection As New Collection()
myCollection.Add(myString)
aString = CType(myCollection.Item(1), String)
Nhận xét:
Các phần tử có kiểu bất kì được thêm vào collection đều được lưu với
kiểu Object
Do đó các phương thức định nghĩa cho các lớp String, Interger, Decimal
… không được gọi trực tiếp, phải sử dụng hàm CType để chuyển các
Object về kiểu dữ liệu ban đầu (String, Integer, Decimal…)
Có thể thêm nhiều đối tượng với kiểu khác nhau vào cùng một
collection
 Sử dụng lớp CollectionBase để cài đặt tập hợp định kiểu rõ ràng cho các
phần tử.
Sử dụng lớp Collection
Slide 3 - Collection trong VB.Net
24
Demo và giải thích cài đặt lớp collection

riêng trên VB.NET (trong SGK)
Demo về CollectionBase
Slide 3 - Collection trong VB.Net
25

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×