Java Collection
List
List trong Java là một interface của Java Collection Framework, cung cấp các phương thức để thao tác với danh sách các phần tử. List cho phép lưu trữ các phần tử trùng nhau và theo thứ tự chèn vào
Một số phương thức cơ bản của List:
add(E element): thêm phần tử vào cuối danh sách.
add(int index, E element): thêm phần tử vào vị trí được chỉ định trong danh sách.
remove(Object obj): xoá phần tử được chỉ định khỏi danh sách.
get(int index): trả về phần tử ở vị trí chỉ định trong danh sách.
size(): trả về số lượng phần tử trong danh sách.
clear(): xoá tất cả các phần tử trong danh sách. -> ArrayList, LinkedList, Vector... Ví dụ:
Set
Trong Java, Set là một interface trong Collection framework được sử dụng để lưu trữ tập hợp các phần tử không trùng lặp. Nó kế thừa interface Collection và bổ sung các tính năng bổ sung để quản lý các tập hợp các phần tử không trùng lặp.
Các đặc tính của Set:
Không chứa các phần tử trùng lặp.
Có thể chứa một số phần tử null (nếu được phép).
Không đảm bảo thứ tự của các phần tử.
Một số phương thức phổ biến của Set:
add(E e): Thêm một phần tử vào Set.
remove(Object o): Xóa một phần tử khỏi Set.
contains(Object o): Kiểm tra xem Set có chứa phần tử được chỉ định không.
size(): Trả về số lượng phần tử trong Set.
iterator(): Trả về một Iterator để lặp lại các phần tử trong Set.
Map
Trong Java Collections Framework, Map là một interface được sử dụng để lưu trữ một tập hợp các cặp key-value, trong đó mỗi key được liên kết với một giá trị value. Map là một interface con của Collection và được sử dụng để tạo ra các bản đồ dữ liệu trong Java.
Một số đặc điểm của Map:
Key trong Map là duy nhất và không thể trùng nhau.
Giá trị value có thể bị trùng nhau.
Map không bảo đảm thứ tự của các cặp key-value. -> HashMap, TreeMap, LinkedHash
Queue
Queue là một cấu trúc dữ liệu trong Java Collections Framework, giúp lưu trữ các phần tử theo cơ chế FIFO (First In First Out), tức là phần tử đầu tiên được thêm vào sẽ là phần tử đầu tiên được lấy ra khỏi hàng đợi.
Một số phương thức quan trọng của Queue:
add(element): thêm một phần tử vào hàng đợi, nếu hàng đợi không đủ chỗ thì sẽ ném ra ngoại lệ.
offer(element): thêm một phần tử vào hàng đợi, trả về true nếu thêm thành công, false nếu hàng đợi không đủ chỗ.
remove(): lấy ra và xóa phần tử đầu tiên của hàng đợi, nếu hàng đợi rỗng sẽ ném ra ngoại lệ.
poll(): lấy ra và xóa phần tử đầu tiên của hàng đợi, trả về null nếu hàng đợi rỗng.
peek(): trả về phần tử đầu tiên của hàng đợi mà không xóa nó, trả về null nếu hàng đợi rỗng. Ví dụ:
Stack
Stack (Ngăn xếp) là một cấu trúc dữ liệu dạng danh sách (List) đặc biệt trong đó thao tác chèn và xóa đều chỉ diễn ra ở một đầu của danh sách. Điểm đặc biệt của Stack là người ta gọi nó là cấu trúc dữ liệu LIFO (Last-In-First-Out), tức là phần tử được chèn vào cuối cùng sẽ được lấy ra đầu tiên. Ngăn xếp thường được sử dụng trong các thuật toán liên quan đến việc phân tích cú pháp, lưu trữ trạng thái tạm thời, tìm đường đi (DFS) và các thuật toán sắp xếp, tìm kiếm, đảo ngược chuỗi, thực hiện undo-redo trong các ứng dụng văn bản, đồ họa.
Stack có 2 phương thức cơ bản là push() để thêm một phần tử vào đỉnh ngăn xếp, và pop() để lấy phần tử ở đỉnh ngăn xếp ra. Ngoài ra, Stack cũng cung cấp một số phương thức khác như empty() để kiểm tra ngăn xếp có rỗng hay không, peek() để lấy giá trị của phần tử đầu tiên mà không xóa nó khỏi ngăn xếp, search() để tìm kiếm vị trí của một phần tử trong ngăn xếp.
Ví dụ:
Tree
Tree trong Java Collections Framework thường được sử dụng để tham chiếu đến các cấu trúc dữ liệu dạng cây như Binary Search Tree (BST), AVL Tree, Red-Black Tree, và nhiều loại cây khác.
Một Tree trong Java là một cấu trúc dữ liệu được tổ chức thành các nút (nodes) và liên kết với nhau bằng các cạnh (edges) để tạo thành một cây. Nút gốc (root node) là nút trên cùng của cây, trong khi nút lá (leaf node) là các nút không có nút con. Các nút khác là các nút nội (internal nodes).
Trong Java, chúng ta có thể sử dụng interface "Tree" để thao tác với các cây như BST hoặc TreeMap, và các phương thức chính bao gồm: add, remove, contains, size, và clear.
Last updated