SlideShare a Scribd company logo
1 of 24
Download to read offline
Bài 4:
ARRAY VÀ 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 - Array và 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 - Array và 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 - Array và 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 - Array và 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 - Array và 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 - Array và 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 - Array và ArrayList 8
Dùng lệnh ReDim: cho phép thay đổi lại kích thước của
Array và 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 - Array và 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 - Array và ArrayList 10
Trong VB.Net, mảng có kích thước tối đa là 32 chiều.
Thường sử dụng đến mảng kích thước 2 chiều.
Khai báo mảng 2 chiều:
Ví dụ:
Khai báo mảng số nguyên hai chiều
Dim IntArray( , ) As Integer
Mảng đa chiều
Slide 4 - Array và ArrayList 11
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}}
Mảng đa chiều
Slide 4 - Array và ArrayList 12
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, 1)  15
Mảng đa chiều
Slide 4 - Array và ArrayList 13
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.
ArrayList
Slide 4 - Array và ArrayList 14
Thuộc tính Capacity của lớp ArrayList:
Dùng để lưu kích thước của mảng.
Giá trị khởi tạo của Capacity = 16.
Khi số lượng phần tử của mảng vượt quá 16, Capacity tự động
thêm 16 phần tử vào trong không gian lưu trữ của mảng.
ArrayList
Slide 4 - Array và ArrayList 15
Add()
AddRange()
Capacity
Clear()
Contains()
CopyTo()
Count
GetEnumerator()
GetRange()
IndexOf()
Các 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 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 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 vao tai vi tri thu " & position)
' Hien thi noi 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
Chương trình cho kết quả:
Sử 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 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)
'Xóa phần tử khỏi danh sách dùng IndexOf kết hợp với RemoveAt
Dim pos As Integer
pos = grades.IndexOf(99)
grades.RemoveAt(pos)
' Kiểm tra dung lượng hiện tại 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()
Lúc này chương trình cho kết quả:
Sử dụng lớp ArrayList
Slide 4 - Array và ArrayList 21
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.
So sánh Array và ArrayList
Slide 4 - Array và ArrayList 22
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 khi chương
trình cần các thao tác như thêm, xóa phần tử trong
mảng
So sánh Array và ArrayList
Slide 4 - Array và ArrayList 23
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ả Array và 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ố.
Tổng kết
Slide 4 - Array và ArrayList 24

More Related Content

What's hot

Giao thuc ip
Giao thuc ipGiao thuc ip
Giao thuc ip
Đăng DC
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
Cao Toa
 
tổng hợp bài tập java có đáp án chi tiết
 tổng hợp bài tập java có đáp án chi tiết tổng hợp bài tập java có đáp án chi tiết
tổng hợp bài tập java có đáp án chi tiết
Hoàng Trí Phan
 
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại viĐề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đỗ Đức Hùng
 
Chuong 2 phan tich cac thuat toan sap xep va tim kiem
Chuong 2  phan tich cac thuat toan sap xep va tim kiemChuong 2  phan tich cac thuat toan sap xep va tim kiem
Chuong 2 phan tich cac thuat toan sap xep va tim kiem
gaconne1985
 

What's hot (20)

Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#
Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#
Bài 4 - Classes, objects và namespaces - Nền tảng lập trình ứng dụng với C#
 
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOTĐề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
Đề tài: Xây dựng ứng dụng Android nghe nhạc trên internet, HOT
 
Giao thuc ip
Giao thuc ipGiao thuc ip
Giao thuc ip
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
 
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTBài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
 
tổng hợp bài tập java có đáp án chi tiết
 tổng hợp bài tập java có đáp án chi tiết tổng hợp bài tập java có đáp án chi tiết
tổng hợp bài tập java có đáp án chi tiết
 
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại viĐề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
 
Mẫu báo cáo bài tập lớn
Mẫu báo cáo bài tập lớnMẫu báo cáo bài tập lớn
Mẫu báo cáo bài tập lớn
 
Thực hành cơ sở lập trình C++ Fithou
Thực hành cơ sở lập trình C++ FithouThực hành cơ sở lập trình C++ Fithou
Thực hành cơ sở lập trình C++ Fithou
 
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Chuong 2 phan tich cac thuat toan sap xep va tim kiem
Chuong 2  phan tich cac thuat toan sap xep va tim kiemChuong 2  phan tich cac thuat toan sap xep va tim kiem
Chuong 2 phan tich cac thuat toan sap xep va tim kiem
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
 
Quy trình bảo mật an toàn thông tin doanh nghiệp
Quy trình bảo mật an toàn thông tin doanh nghiệpQuy trình bảo mật an toàn thông tin doanh nghiệp
Quy trình bảo mật an toàn thông tin doanh nghiệp
 
Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07
 
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
 
Những nguyên tắc cơ bản xây dựng hệ thống an toàn thông tin trong doanh nghiệp
Những nguyên tắc cơ bản xây dựng hệ thống an toàn thông tin trong doanh nghiệpNhững nguyên tắc cơ bản xây dựng hệ thống an toàn thông tin trong doanh nghiệp
Những nguyên tắc cơ bản xây dựng hệ thống an toàn thông tin trong doanh nghiệp
 
Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game Báo cáo phân tích thiết kế đồ án game
Báo cáo phân tích thiết kế đồ án game
 
Lập sơ đồ thiết kế mạng
Lập sơ đồ thiết kế mạngLập sơ đồ thiết kế mạng
Lập sơ đồ thiết kế mạng
 
Thiết kế mạng lan cho tòa nhà 3 tầng - luận văn, đồ án, đề tài tốt nghiệp (Đặ...
Thiết kế mạng lan cho tòa nhà 3 tầng - luận văn, đồ án, đề tài tốt nghiệp (Đặ...Thiết kế mạng lan cho tòa nhà 3 tầng - luận văn, đồ án, đề tài tốt nghiệp (Đặ...
Thiết kế mạng lan cho tòa nhà 3 tầng - luận văn, đồ án, đề tài tốt nghiệp (Đặ...
 

Similar to Bài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPT

CSLT_Bai 5A_2018.pptx
CSLT_Bai 5A_2018.pptxCSLT_Bai 5A_2018.pptx
CSLT_Bai 5A_2018.pptx
ChuK7
 
Cac ham tinh trong excel
Cac ham tinh trong excelCac ham tinh trong excel
Cac ham tinh trong excel
Hoang Trang
 

Similar to Bài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPT (20)

Bài 3: COLLECTION TRONG VB.NET - Giáo trình FPT
Bài 3: COLLECTION TRONG VB.NET - Giáo trình FPTBài 3: COLLECTION TRONG VB.NET - Giáo trình FPT
Bài 3: COLLECTION TRONG VB.NET - Giáo trình FPT
 
Chuong 05
Chuong 05Chuong 05
Chuong 05
 
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
 
Huong danthuchanhmang
Huong danthuchanhmangHuong danthuchanhmang
Huong danthuchanhmang
 
Chuong 05 mang, con tro, tham chieu
Chuong 05 mang, con tro, tham chieuChuong 05 mang, con tro, tham chieu
Chuong 05 mang, con tro, tham chieu
 
CSLT_Bai 5A_2018.pptx
CSLT_Bai 5A_2018.pptxCSLT_Bai 5A_2018.pptx
CSLT_Bai 5A_2018.pptx
 
Các hàm cơ bản trong excel
Các hàm cơ bản trong excelCác hàm cơ bản trong excel
Các hàm cơ bản trong excel
 
Oop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quátOop unit 09 lập trình tổng quát
Oop unit 09 lập trình tổng quát
 
Java exercises part 2
Java exercises part 2Java exercises part 2
Java exercises part 2
 
Bài 4 Lập trình PHP (phần 2) - Giáo trình FPT
Bài 4 Lập trình PHP (phần 2) - Giáo trình FPTBài 4 Lập trình PHP (phần 2) - Giáo trình FPT
Bài 4 Lập trình PHP (phần 2) - Giáo trình FPT
 
Bai08 lap trinhtongquat
Bai08 lap trinhtongquatBai08 lap trinhtongquat
Bai08 lap trinhtongquat
 
7 stl c++
7   stl c++7   stl c++
7 stl c++
 
Lớp 11 --chương 4 -- bài 11 --Kiểu mảng
Lớp 11 --chương 4 -- bài 11 --Kiểu mảngLớp 11 --chương 4 -- bài 11 --Kiểu mảng
Lớp 11 --chương 4 -- bài 11 --Kiểu mảng
 
Oop 5
Oop 5Oop 5
Oop 5
 
Cac ham tinh trong excel
Cac ham tinh trong excelCac ham tinh trong excel
Cac ham tinh trong excel
 
Session 11
Session 11Session 11
Session 11
 
Session 11
Session 11Session 11
Session 11
 
43HamExcelThuongGap.doc
43HamExcelThuongGap.doc43HamExcelThuongGap.doc
43HamExcelThuongGap.doc
 
Nhom lenh co ban
Nhom lenh co banNhom lenh co ban
Nhom lenh co ban
 
Ham excel ke toan
Ham excel ke toanHam excel ke toan
Ham excel ke toan
 

More from MasterCode.vn

Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
MasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
MasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
MasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
MasterCode.vn
 

More from MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 

Bài 4: ARRAY VÀ ARRAYLIST - Giáo trình FPT

  • 1. Bài 4: ARRAY VÀ ARRAYLIST
  • 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 Nhắc lại bài cũ Slide 4 - Array và ArrayList 2
  • 3. 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 - Array và ArrayList 3
  • 4. 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 - Array và ArrayList 4
  • 5. 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 - Array và ArrayList 5
  • 6. 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 - Array và ArrayList 6 Dim numbers() As String numbers = New Integer() {10, 20, 30, 40, 50} Dim numbers() As Integer = {10, 20, 30, 40, 50}
  • 7. 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 - Array và ArrayList 7
  • 8. 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 - Array và ArrayList 8
  • 9. Dùng lệnh ReDim: cho phép thay đổi lại kích thước của Array và 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 - Array và ArrayList 9
  • 10. 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 - Array và ArrayList 10
  • 11. Trong VB.Net, mảng có kích thước tối đa là 32 chiều. Thường sử dụng đến mảng kích thước 2 chiều. Khai báo mảng 2 chiều: Ví dụ: Khai báo mảng số nguyên hai chiều Dim IntArray( , ) As Integer Mảng đa chiều Slide 4 - Array và ArrayList 11
  • 12. 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}} Mảng đa chiều Slide 4 - Array và ArrayList 12
  • 13. 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, 1)  15 Mảng đa chiều Slide 4 - Array và ArrayList 13
  • 14. 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. ArrayList Slide 4 - Array và ArrayList 14
  • 15. Thuộc tính Capacity của lớp ArrayList: Dùng để lưu kích thước của mảng. Giá trị khởi tạo của Capacity = 16. Khi số lượng phần tử của mảng vượt quá 16, Capacity tự động thêm 16 phần tử vào trong không gian lưu trữ của mảng. ArrayList Slide 4 - Array và ArrayList 15
  • 17. Insert() InsertRange() Item() Remove() RemoveAt() Reverse() Sort() ToArray() TrimToSize() Slide 4 - Array và ArrayList 17 Các phương thức và thuộc tính của lớp ArrayList
  • 18. 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 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 vao tai vi tri thu " & position) ' Hien thi noi 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
  • 19. Chương trình cho kết quả: Sử dụng lớp ArrayList Slide 4 - Array và ArrayList 19
  • 20. 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 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) 'Xóa phần tử khỏi danh sách dùng IndexOf kết hợp với RemoveAt Dim pos As Integer pos = grades.IndexOf(99) grades.RemoveAt(pos) ' Kiểm tra dung lượng hiện tại 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()
  • 21. Lúc này chương trình cho kết quả: Sử dụng lớp ArrayList Slide 4 - Array và ArrayList 21
  • 22. 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. So sánh Array và ArrayList Slide 4 - Array và ArrayList 22
  • 23. 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 khi chương trình cần các thao tác như thêm, xóa phần tử trong mảng So sánh Array và ArrayList Slide 4 - Array và ArrayList 23
  • 24. 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ả Array và 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ố. Tổng kết Slide 4 - Array và ArrayList 24