List trong Java

1. List

Một số phương thức thường được sử dụng của Collection interface cũng có sẵn trong List interface là:

  • add() – thêm một phần tử vào list
  • addAll() – thêm tất cả các phần tử của list này vào list khác
  • get() – giúp truy cập ngẫu nhiên các phần tử từ list
  • iterator() – trả về đối tượng iterator có thể được sử dụng để truy cập tuần tự các phần tử của list
  • set() – thay đổi các phần tử của list
  • remove() – xóa một phần tử khỏi list
  • removeAll() – xóa tất cả các phần tử khỏi list
  • clear() – xóa tất cả các phần tử khỏi list (hiệu quả hơn removeAll())
  • size() – trả về độ dài của list
  • toArray() – chuyển đổi một list thành một array
  • contains() – trả về true nếu list chứa phần tử được chỉ định

2. ArrayList

Những điểm cần ghi nhớ về lớp ArrayList:

  • ArrayList nội bộ sử dụng mảng động để lưu trữ các phần tử.
  • Thao tác với ArrayList là chậm bởi vì nó sử dụng nội bộ mảng. Nếu bất kỳ phần tử nào được xoá khỏi mảng, tất cả các bit được chuyển trong bộ nhớ.
  • Lớp ArrayList trong java chỉ có thể hoạt động như một list vì nó chỉ implements giao tiếp List.
  • ArrayList là tốt hơn trong việc lưu trữ và truy cập dữ liệu.

3. LinkList

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:

  • LinkedList nội bộ sử dụng danh sách liên kết doubly để lưu trữ các phần tử.
  • Thao tác với LinkedList là nhanh hơn so với ArrayList bởi vì nó sử dụng danh sách liên kết doubly do đó không cần chuyển đổi bit nào trong bộ nhớ.
  • Lớp LinkedList trong java có thể hoạt động như một list và queue(hàng đợi) hoặc stack (ngăn xếp) vì nó implements các giao tiếp List và Deque.
  • LinkedList là tốt hơn trong việc thao tác dữ liệu.

     

 

4. Vector

5. Stack