Tổng quan về Collection trong C#
Khóa học lập trình C# nâng cao

Danh sách bài học
Tổng quan về Collection trong C#
Nội dung bài viết Học nhanh
Dẫn nhập
Đây là bài đầu tiên trong khóa LẬP TRÌNH C# NÂNG CAO. Trong bài này chúng ta sẽ cùng tìm hiểu Tổng quan về Collections trong .NET Framework.
Nội dung
Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:
- BIẾN , KIỂU DỮ LIỆU, TOÁN TỬ trong C#
- CÂU ĐIỀU KIỆN trong C#
- Cấu trúc cơ bản của VÒNG LẶP, HÀM trong C#
- MẢNG trong C#
- LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG C#
Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:
- Collections là gì?
- Một số loại Collection thông dụng.
Collections là gì?
Collections trong C# là gì?
Các lớp hỗ trợ lưu trữ, quản lý và thao tác với các đối tượng một cách có thứ tự.
Các lớp này nằm trong namespace System.Collections.
Một số đặc điểm của Collections
Là một mảng có kích thước động:
- Không cần khai báo kích thước khi khởi tạo.
- Có thể tăng giảm số lượng phần tử trong mảng một cách linh hoạt.
Có thể lưu trữ một tập hợp đối tượng thuộc nhiều kiểu khác nhau.
Hỗ trợ rất nhiều phương thức để thao tác với tập hợp như: tìm kiếm, sắp xếp, đảo ngược, . . .
Mỗi collections được tổ chức thành một lớp nên cần khởi tạo đối tượng trước khi sử dụng.
Khi nào sử dụng Collection?
Chúng ta đã từng tìm hiểu một kiểu dữ liệu dùng để quản lý danh sách đối tượng đó là kiểu mảng. Vậy Collections có gì hay hơn mảng? Khi nào dùng mảng và khi nào dùng Collections?
Đầu tiên là những điểm mạnh của Collections
- Bên trong Collections có nhiều lớp đa dạng hỗ trợ cho từng mục đích khác nhau. Nếu như mảng chỉ có thể truy xuất phần tử thông qua chỉ số thì các Collections có thế truy xuất thông qua chỉ số hoặc thông qua key.
- Đối với danh sách cần thao tác tìm kiếm nhiều thì Collections cũng có lớp hỗ trợ giúp việc tìm kiếm nhanh hơn nhiều so với mảng nguyên thuỷ (sẽ được trình bày trong bài HASHTABLE TRONG C#).
- Trong trường hợp danh sách cần thay đổi số lượng phần tử liên tục (thêm hoặc xoá phần tử) thì Collections cũng hỗ trợ sẵn (sẽ được trình bày trong bài ARRAYLIST TRONG C#).
- Ngoài ra trong namespace System.Collections còn hỗ trợ sẵn 2 cấu trúc dữ liệu kinh điển đó là STACK và QUEUE nên bạn chỉ cần lấy ra sử dụng mà không cần cài đặt lại.
Vậy khi nào sử dụng mảng khi nào sử dụng Collections?
Theo lời khuyên từ Microsoft thì:
- Mảng thường được dùng để làm việc với một số lượng cố định các đối tượng strongly-typed (Mình sẽ trình rõ hơn về khái niệm này trong series khác. Bạn có thể hiểu đơn giản, strongly-typed là kiểu dữ liệu không bị thay đổi một cách đột ngột, tường minh).
- Collections cung cấp một cách linh hoạt hơn để làm việc với danh sách. Ta có thể tăng giảm số lượng phần tử một cách tự động. Một số Collections còn hỗ trợ lưu trữ danh sách dưới dạng Key – Value (sẽ được trình bày trong bài HASHTABLE TRONG C#) giúp mình truy xuất, tìm kiếm một cách nhanh chóng.
Một số Collections thông dụng
Một số lớp Collections được sử dụng phổ biến:
LỚP |
MÔ TẢ |
ArrayList |
Lớp cho phép lưu trữ và quản lý các phần tử giống mảng. |
HashTable |
Lớp lưu trữ dữ liệu dưới dạng cặp Key – Value. |
SortedList |
Là sự kêt hợp của ArrayList và HashTable. Tức là dữ liệu sẽ lưu dưới dạng Key – Value. |
Stack |
Lớp cho phép lưu trữ và thao tác dữ liệu theo cấu trúc LIFO (Last In First Out). |
Queue |
Lớp cho phép lưu trữ và thao tác dữ liệu theo cấu trúc FIFO (First In First Out). |
BitArray |
Lớp cho phép lưu trữ và quản lý một danh sách các bit. |
Trong bài học này mình chỉ giới thiệu tổng quan về Collections và một số Collections thông dụng. Những bài học sau chúng ta sẽ đi vào chi tiết về cách sử dụng từng Collections cụ thể.
Kết luận
Nội dung bài này đã giới thiệu đến các bạn về Collections cũng như một số Collections thông dụng.
Bài sau chúng ta sẽ tìm hiểu về ARRAYLIST TRONG C#.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Tổng quan về Collection trong C# dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Tác giả/Dịch giả
Khóa học
Khóa học lập trình C# nâng cao
Bạn đã học hết các khoá học về C# CƠ BẢN, LẬP TRÌNH WINFORM thậm chí là LẬP TRÌNH WPF nhưng vẫn bối rối trước những hướng dẫn về CÁC PROJECT THỰC TẾ của Kteam?
Hoặc bạn nghe nói mãi về .NET nhưng vẫn thắc mắc nó có gì hay ho bên trong đó?
Hay đơn giản bạn viết muốn 1 đoạn code cực kỳ nguy hiểm khiến người khác khi nhìn vào phải thốt lên: “Ồ!!!......... Trẻ trâu…”
Khoá học lần này sẽ giúp bạn giải đáp những thắc mắc trên. Chào mừng các bạn đã đến với khoá học Lập trình C# nâng cao của Kteam.
Đánh giá
Cám ơn rất nhiều vì những thông tin bổ ích mà các anh/chị đã chia sẻ
Cho em hỏi là có tài liệu pdf ko ạ cho em xin với ạ
Bài giản rất hay. Bên mình có bài tập để áp dụng không ạ?
học sinh mới =)