1. Trang chủ
  2. » Công Nghệ Thông Tin

bài 3 collection trong vb.net

31 526 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài 3: Collection Trong VB.Net
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Lập trình
Thể loại Bài giảng
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 31
Dung lượng 0,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Collection tập hợp: là một kiểu dữ liệu cho phép lưumộ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

Trang 1

Bài 3:

COLLECTION TRONG VB.NET

Trang 2

Nhắc lại khái niệm lập trình hướng thủ tục (Procedural

Trang 3

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

Trang 4

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

Trang 7

Tập hợp được thiết kế chỉ cho phép duyệt từ đầu tới cuốitập hợp hoặc từ cuối tập hợp ngược lại.

Trang 8

Ví dụ: danh sách liên kết là một tập các phần tử có cùngkiểu dữ liệu và việc truy cập các phần tử được tiến hànhtuần tự từ đầu danh sách đến cuối danh sách

Tập hợp truy cập tuần tự

H Hì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, …

Trang 9

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

Trang 10

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

H Hình minh họa một cấu trúc dữ liệu dạng cây

Trang 11

Tập phi tuyến tính với các phần tử không được sắp xếpthứ 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

Trang 12

Ví dụ: Đồ thị mô tả mạng lưới các thành phố

Truy cập theo phân nhóm

H Hình minh họa một đồ thị mô tả mạng lưới các

thành phố

Trang 13

Có hai lớp cài đặt cấu trúc dữ liệu collection trong

Trang 14

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

Trang 16

Cách khai báo: Dim names As New Collection

Trong đó:

“ names ” là tên của collection

Sử dụng lớp Collection

Trang 17

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

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

Trang 18

Ví dụ: dùng phương thức Add để thêm dữ liệu vào

Collection

Phương thức Add

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" )

Trang 19

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

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" )

Trang 20

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

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)

Trang 21

Ví dụ: Hiển thị ra màn hình thông tin mỗi phần tử trongcollection thông qua thuộc tính Item truyền theo chỉ số:

Thuộc tính Item

' 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))

Trang 22

Ví dụ: Hiển thị ra màn hình thông tin mỗi phần tử trongtậ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

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

Collection

For Each name In names

key = CStr (index) Console.WriteLine(names.Item(key)) index += 1

Trang 23

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

Option Strict On

Dim myString As String = "This is my String"

Dim aString As String

Dim myCollection As New Collection ()

Trang 24

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

Trang 25

Demo và giải thích cài đặt lớp collection

riêng trên VB.NET (trong SGK)

Demo về CollectionBase

Trang 26

Là lớp dạng abstract, cung cấp khung để xây dựng cáclớp mới hỗ trợ kiểu tổ chức collection

Bao gồm các phương thức abstract chính sau:

Lớp CollectionBase

Phương

thức

Giải thích

Add Thêm một đối tượng vào cuối collection.

Insert Chèn thêm một phần tử vào collection tại vị trí chỉ định.

Remove Xóa bỏ phần tử đầu tiên tìm thấy trong collection giống đối

tượng được chỉ định.

Contains Xác định vị trí mà collection chứa phần tử được chỉ định.

IndexOf Tìm kiếm phần tử được chỉ định và trả về chỉ số (tính từ 0) của

phần tử đầu tiên trong collection thỏa mãn điều kiện.

CopyTo Sao chép toàn bộ collection tới một mảng một chiều phù hợp,

bắt đầu tại vị trí được chỉ định của mảng đích

Trang 27

Bao gồm các phương thức public chính sau:

Clear: Xóa bỏ tất cả các đối tượng từ collection

RemoveAt: Xóa một phần tử tại vị trí chỉ định trong collection

Equals: Xác minh xem đối tượng đường truyền vào có bằng với đối tượng hiện tại không.

ToString: Trả về một chuỗi thể hiện đối tượng hiện hành.

GetEnumerator: Trả về một điều khiển liệt kê được sử dụng để

Sử dụng lớp CollectionBase

Trang 28

Demo và giải thích cài đặt lớp StudentColl

kế thừa từ lớp CollectionBase (trong SGK)

Demo về CollectionBase

Trang 29

Ngoài lớp CollectionBase, trong namespace System.Collection còn có nhiều lớp kiểu collection, ví dụ một số lớp điển hình:

Namespace System.Collection

ArrayList Biểu diễn tập các đối tượng dưới dạng mảng

Hashtable Biểu diễn tập phần tử theo cặp khóa/giá trị

Queue Biểu diễn cấu trúc queue, vào-trước-ra-trước

SortedList Biểu diễn tập phần tử theo cặp khóa/giá trị, được

sắp xếp theo khóa, truy cập theo khóa hoặc chỉ số

ReadOnlyCollectionBase Lớp abstract để cài đặt collection chỉ hỗ trợ đọc

Trang 30

Collection là một kiểu dữ liệu được cấu trúc để một

nhóm không giới hạn số lượng và kiểu phần tử

Hai loại collection:

Tập hợp tuyến tính: các phần tử được sắp xếp theo vị trí.

Tập hợp phi tuyến tính: các phần tử không được sắp xếp theo vị trí.

Phần tử trong collection có kiểu là Object

Tổng kết

Trang 31

Hai cách cài đặt collection trong VB.Net:

Sử dụng ngay lớp Collection để tạo đối tượng collection

Tạo lớp mới kế thừa từ lớp trừu tượng CollectionBase kiểu của các phần tử do người dùng chỉ định.

Tổng kết

Ngày đăng: 23/05/2014, 16:46

TỪ KHÓA LIÊN QUAN