Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
783,78 KB
Nội dung
Bài 4: ARRAYVÀ ARRAYLIST 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 Nhắc lại bài cũ Slide 4 - Arrayvà ArrayList 2 Tìm hiểu về cách sử dụng mảng thông thường trong VB.Net Tìm hiểu về lớp ArrayList và cách sử dụng trong VB.Net So sánh mảng thông thường và ArrayList Áp dụng việc đo thời gian thực hiện lệnh Mục tiêu bài học hôm nay Slide 4 - Arrayvà ArrayList 3 Cấu trúc dữ liệu mảng: Là cấu trúc lưu trữ tập hợp các phần tử cùng kiểu được sắp xếp thứ tự truy cập theo chỉ số (index) Chỉ số của mảng bắt đầu từ 0. Kích thước của mảng được cấp phát từ khi khai báo mảng Trong VB.Net, mảng là một đối tượng của lớp Array Khái niệm mảng Slide 4 - Arrayvà ArrayList 4 Có hai cách: Cách 1: Khai báo và khởi tạo tách riêng //khai báo biến Dim Tênmảng([số phần tử]) As Kiểu //tạo mảng và trỏ biến tham chiếu đến mảng Tênmảng = New Kiểu() {giá trị phần tử 1, giá trị phần tử 2,…} Cách 2: Khai báo và khởi tạo đồng thời Dim Tênmảng([số phần tử]) As Kiểu = {giá trị phần tử 1, giá trị phần tử 2,…} Khai báo và khởi tạo mảng Slide 4 - Arrayvà ArrayList 5 Ví dụ: khai báo một mảng số nguyên Cách 1: Cách 2: Khai báo và khởi tạo mảng Slide 4 - Arrayvà ArrayList 6 Dim numbers() As String numbers = New Integer() {10, 20, 30, 40, 50} Dim numbers() As Integer = {10, 20, 30, 40, 50} Thiết lập bằng phương thức SetValue Ví dụ: numbers.SetValue(1, “222”) -> numbers = {10, 222, 30, 40, 50} Truy cập phần tử của mảng: Thông qua chỉ số index Ví dụ: num = numbers(1) -> giá trị của num là 222 Thông qua phương thức GetValue(index) Ví dụ: num2 = numbers.GetValue(2) -> giá trị của num2 là 30 Thiết lập giá trị và truy cập các phần tử của mảng Slide 4 - Arrayvà ArrayList 7 Length(): trả về số phần tử trong tất cả các chiều của Array GetLength(): trả về số phần tử của một chiều được chỉ định của mảng Rank(): trả về số lượng kích thước của Array GetType(): trả về kiểu của phần tử hiện thời trong Array IsArray(a): trả về True nếu a là mảng thật sự, ngược lại trả về False Các phương thức và thuộc tính của mảng Slide 4 - Arrayvà ArrayList 8 Dùng lệnh ReDim: cho phép thay đổi lại kích thước của Arrayvà giá trị của các phần tử đều được thiết lập lại là giá trị mặc định. Ví dụ: Dim grades() As Integer = {87, 76, 99, 65, 89} ReDim grades(9) -> Mảng grades lúc này có kích thước là 10 phần tử, và giá trị các phần tử là 0. Thay đổi tự động kích thước của mảng Slide 4 - Arrayvà ArrayList 9 Dùng lệnh Preserve: Nếu muốn giữ nguyên giá trị các phần tử trong mảng, sử dụng lệnh Preserve đi kèm lệnh ReDim. Ví dụ: ReDim Preserve grades(9) -> Mảng grades lúc này có kích thước là 10 phần tử, và giá trị 5 phần tử ban đầu vẫn giữ nguyên. Thay đổi tự động kích thước của mảng Slide 4 - Arrayvà ArrayList 10 [...]... Slide 4 - Arrayvà ArrayList 23 Tổng kết Trong lập trình, mảng là CTDL hay được dùng nhất Mảng trong VB.Net cũng là một đối tượng Cả Arrayvà ArrayList đều cho phép thay đổi kích thước mảng Dùng mảng thông thường cho bài toán tính toán trên dữ liệu dạng số Dùng cấu trúc ArrayList để xây dựng mảng cho các bài toán thêm phần tử vào mảng và kiểu dữ liệu không phải là số Slide 4 - Arrayvà ArrayList 24 ... Arrayvà ArrayList Xem ví dụ SGK so sánh thời gian khi sử dụng mảng thông thường và ArrayList để tính tổng của 100.000 phần tử Kết quả chỉ ra rằng nên sử dụng mảng thông thường khi tính toán với số lượng phần tử lớn Slide 4 - Arrayvà ArrayList 22 So sánh Arrayvà ArrayList So sánh thời gian khi sử dụng mảng thông thường và ArrayList để thêm phần tử vào mảng đã đầy Kết quả chỉ ra rằng nên sử dụng ArrayList... tử vào trong không gian lưu trữ của mảng Slide 4 - Arrayvà ArrayList 15 Các phương thức và thuộc tính của lớp ArrayList Add() AddRange() Capacity Clear() Contains() CopyTo() Count GetEnumerator() GetRange() IndexOf() Slide 4 - Arrayvà ArrayList 16 Các phương thức và thuộc tính của lớp ArrayList Insert() InsertRange() Item() Remove() RemoveAt() Reverse() Sort() ToArray() TrimToSize() Slide 4 - Array. .. GetValue() Ví dụ: IntArray.GetValue(0, 1) 15 Slide 4 - Arrayvà ArrayList 13 ArrayList Là một cấu trúc dữ liệu kiểu mảng được cài đặt trong VB.Net với tên ArrayList Tính chất: ArrayList cung cấp khả năng tăng kích thước mảng tự động Các phần tử lưu trong ArrayList được định kiểu là Object Slide 4 - Arrayvà ArrayList 14 ArrayList Thuộc tính Capacity của lớp ArrayList: Dùng để lưu kích thước của mảng Giá... Dim IntArray( , ) As Integer Slide 4 - Arrayvà ArrayList 11 Mảng đa chiều Ví dụ: Khai báo và khởi tạo mảng kích thước 2x3 Dim intArray(2,3) As Integer intArray(2,3) = New Integer() {{5, 15, 25}, {10, 20, 30}} Slide 4 - Arrayvà ArrayList 12 Mảng đa chiều Hai cách truy cập các phần tử của mảng: Thông qua các chỉ số của phần tử Ví dụ: intArray(0, 1) 15 Thông qua phương thức GetValue() Ví dụ: IntArray.GetValue(0,... Console.WriteLine(grades.Item(i)) Next Slide 4 - Arrayvà ArrayList 18 Sử dụng lớp ArrayList Chương trình cho kết quả: Slide 4 - Arrayvà ArrayList 19 Sử dụng lớp ArrayList ' Xóa phần tử có giá trị 54 khỏi ArrayList dùng Remove If (grades.Contains( 54) ) Then grades.Remove( 54) Else Console.WriteLine("Phan tu nay khong ton tai trong ArrayList.") End If 'Xóa phần tử thứ 3 khỏi ArrayList dùng RemoveAt grades.RemoveAt(2)... Slide 4 - Arrayvà ArrayList 17 Sử dụng lớp ArrayList Ví dụ về sử dụng lớp ArrayList ' Khai báo 1 ArrayList Dim grades As New ArrayList() Dim i As Integer ' thêm các phần tử vào ArrayList grades.Add(10) grades.Add(20) grades.Add(30) 'position lưu trữ vị trí của phần tử thêm vào bởi pthức Add Dim position As Integer position = grades.Add (40 ) position = position + 1 Console.WriteLine("Phan tu 40 duoc them... của ArrayList Console.WriteLine("Dung luong hien tai cua mang grades la:" & grades.Capacity) Console.WriteLine("So phan tu co trong mang la:" & grades.Count) Console.WriteLine("Noi dung grades bay gio la: ") For i = 0 To grades.Count - 1 Console.WriteLine(grades.Item(i)) Next Console.ReadLine() Slide 4 - Arrayvà ArrayList 20 Sử dụng lớp ArrayList Lúc này chương trình cho kết quả: Slide 4 - Arrayvà ArrayList... dung ArrayList Console.WriteLine("Noi dung mang grades la: ") For i = 0 To grades.Count - 1 Console.WriteLine(grades.Item(i)) Next 'Thêm phần tử có giá trị 99 vào ArrayList tại vị trí số 2 grades.Insert(1, 99) ' Hien thi noi dung ArrayList Console.WriteLine("Noi dung grades sau khi them phan tu 99 vao vi tri thu 2 la: ") For i = 0 To grades.Count - 1 Console.WriteLine(grades.Item(i)) Next Slide 4 - Array . dụng lớp ArrayList Slide 4 - Array và ArrayList 19 Sử dụng lớp ArrayList Slide 4 - Array và ArrayList 20 ' Xóa phần tử có giá trị 54 khỏi ArrayList dùng Remove If (grades.Contains( 54) ) Then grades.Remove( 54) Else Console.WriteLine("Phan. phương thức và thuộc tính của lớp ArrayList Slide 4 - Array và ArrayList 16 Insert() InsertRange() Item() Remove() RemoveAt() Reverse() Sort() ToArray() TrimToSize() Slide 4 - Array và ArrayList 17 Các. ArrayList 17 Các phương thức và thuộc tính của lớp ArrayList Ví dụ về sử dụng lớp ArrayList Sử dụng lớp ArrayList Slide 4 - Array và ArrayList 18 ' Khai báo 1 ArrayList Dim grades As New ArrayList() Dim