NỘI DUNG BÀI VIẾT
Lớp LinkedList trong Java là một lớp kế thừa lớp AbstractSequentialList và triển khai của List, Queue Interface trong Collections Framework nên nó sẽ có một vài đặc điểm và phương thức tương đồng với List, Queue. Lớp LinkedList trong java sử dụng cấu trúc danh sách liên kết kép Doubly để lưu trữ các phần tử.
Những điểm cần ghi nhớ về lớp LinkedList:
- Lớp LinkedList trong java có thể chứa các phần tử trùng lặp.
- Lớp LinkedList duy trì thứ tự của phần tử được thêm vào.
- Lớp LinkedList là không đồng bộ (non-synchronized).
- Trong Java lớp LinkList, thao tác nhanh vì không cần phải dịch chuyển nếu bất kỳ phần tử nào bị xoá khỏi danh sách.
- Lớp LinkedList trong java có thể được sử dụng như list (danh sách), stack (ngăn xếp) hoặc queue (hàng đợi).
Sơ đồ lớp LinkedList trong Java
Như chúng ta đã biết, LinkedList trong Java là một trong những lớp implement List. Nó cũng thực hiện Deque. Như được hiển thị trong sơ đồ lớp dưới đây, nó KHÔNG mở rộng trực tiếp từ lớp AbstractList. Nó mở rộng lớp AbstractSequentialList.
Các phương thức trong LinkedList
Trong phần này, chúng ta sẽ thảo luận về một số phương thức của LinkedList trong Java hữu ích và được sử dụng thường xuyên.
Các phương pháp sau được kế thừa từ Interface List hoặc Collection:
- int size(): để lấy số phần tử trong danh sách.
- boolean isEmpty(): để kiểm tra xem danh sách có trống hay không.
- boolean contains(Object o): Trả về true nếu danh sách này chứa phần tử được chỉ định.
- Iterator iterator(): Trả về một trình lặp trên các phần tử trong danh sách này theo trình tự thích hợp.
- Object[] toArray():: Trả về một mảng chứa tất cả các phần tử trong danh sách này theo trình tự thích hợp.
- boolean add (E e): Thêm phần tử được chỉ định vào cuối danh sách này.
- boolean remove(Object o): Loại bỏ sự xuất hiện đầu tiên của phần tử được chỉ định khỏi danh sách này.
- boolean keepAll(Collection c): Chỉ giữ lại các phần tử trong danh sách này được chứa trong tập hợp đã chỉ định.
- void clear(): Loại bỏ tất cả các phần tử khỏi danh sách.
- E get(int index): Trả về phần tử ở vị trí xác định trong danh sách.
- E set(int index, E element): Thay thế phần tử tại vị trí xác định trong danh sách bằng phần tử được chỉ định.
- ListIterator listIterator(): Trả về một trình lặp danh sách trên các phần tử trong danh sách.
- List subList(int fromIndex, int toIndex): Trả về dạng xem một phần của danh sách này giữa fromIndex được chỉ định, inclusive và toIndex, unique. Danh sách trả về được hỗ trợ bởi danh sách này, vì vậy những thay đổi không mang tính cấu trúc trong danh sách được trả về được phản ánh trong danh sách này và ngược lại.
Phương thức Deque LinkedList trong Java
Các phương thức sau dành riêng cho lớp LinkedList được kế thừa từ giao diện Deque:
- void addFirst(E e): Chèn phần tử được chỉ định vào đầu danh sách này.
- void addLast(E e): Chèn phần tử được chỉ định vào cuối danh sách này.
- E getFirst(): Truy xuất, nhưng không xóa, phần tử đầu tiên của danh sách này. Phương pháp này chỉ khác peekFirst ở chỗ nó ném ra một ngoại lệ nếu danh sách này trống.
- E getLast(): Truy xuất, nhưng không xóa, phần tử cuối cùng của danh sách này. Phương thức này chỉ khác peekLast ở chỗ nó ném ra một ngoại lệ nếu danh sách này trống.
- E remvoeFirst(): Loại bỏ và trả về phần tử đầu tiên từ danh sách này.
- E removeLast(): Loại bỏ và trả về phần tử cuối cùng từ danh sách này.
- boolean offerFirst(E e): Chèn phần tử được chỉ định vào đầu danh sách này.
- boolean offerLast(E e): Chèn phần tử được chỉ định vào cuối danh sách này.
- E pollFirst(): Lấy và loại bỏ phần tử đầu tiên của danh sách này, hoặc trả về null nếu danh sách này trống.
- E pollLast(): Lấy và loại bỏ phần tử cuối cùng của danh sách này, hoặc trả về null nếu danh sách này trống.
- E peekFirst(): Truy xuất, nhưng không loại bỏ, phần tử đầu tiên của danh sách này hoặc trả về null nếu danh sách này trống.
- E peekLast(): Truy xuất, nhưng không loại bỏ, phần tử cuối cùng của danh sách này hoặc trả về null nếu danh sách này trống.
Tổng kết
Trên đây là tổng quan về LinkedList trong Java. Trong bài viết sau, tôi sẽ làm về các ví dụ LinkedList trong Java.
Xem thêm:
Nguồn video: Ông Dev