Bộ sưu tập trong Java

Bộ sưu tập Khung đã được thêm vào trong JDK 1.2 và đã được mở rộng trong 1.4 -1.6

lap-trinh-java
Collection in Java

Giao diện & các lớp của Bộ sưu tập Khung

API bộ sưu tập cung cấp một nhóm giao diện để lựa chọn, nhưng nó cũng cung cấp cho bạn một số lớp cụ thể để trực tiếp chơi.

Giao diện cốt lõi

  • Bộ sưu tập
  • Danh sách
  • Bộ
    • SortedSet  (Mở rộng Set Interface)
    • Điều hướng (Mở rộng Sắp xếp)
  • Bản đồ
    • Sắp xếp  bản đồ (Mở rộng giao diện bản đồ)
    • Bản đồ có thể điều hướng (Mở rộng Sắp xếp)
  • Xếp hàng

Các lớp học đã được triển khai

Bản đồ

  • Bản đồ băm
  • HashTable
  • Bản đồ cây
  • LinkedHashMap

Bộ

  • Hashset
  • LinkedHashset
  • Cây Set

Danh sách

  • Lập danh sách
  • Vectơ
  • Danh sách liên kết

Xếp hàng

  • Tóm tắt
    1. ArrayBlockingQueue
    2. Đồng thờiLinkedQueue
    3. Trì hoãn
    4. LinkedBlockingDeque
    5. LinkedBlockingQueue
    6. LinkedTransferQueue
    7. Ưu tiênBlockingQueue
    8. Hàng đợi ưu tiên
    9. Đồng bộ hóa

Deque

  • ArrayDeque
  • Đồng thờiLinkedDeque

Mảng

Không phải tất cả Khung bộ sưu tập đều thực hiện Giao diện bộ sưu tập. Không có lớp & Giao diện nào liên quan đến Bản đồ mở rộng từ Bộ sưu tập.

Bộ sưu tập cũng có thể được chia thành 4 phần dựa trên các tùy chọn bên dưới

  1. Sắp xếp
  2. Chưa sắp xếp
  3. Đặt hàng
  4. Không có thứ tự

Bộ sưu tập đã đặt hàng

Một bộ sưu tập theo thứ tự có thể được lặp lại theo một thứ tự cụ thể (không ngẫu nhiên). EG: Mảng, HashTable

  1. LinkedHashset (Thứ tự lặp có thể dự đoán được)
  2. Mảng
  3. HashTable
  4. Lập danh sách

Bộ sưu tập chưa đặt hàng

  1. Hashset

Bộ sưu tập được sắp xếp

Trong các bộ sưu tập được sắp xếp thứ tự của các bộ sưu tập được xác định dựa trên một số quy tắc. EG: Danh sách


Giao diện danh sách

Thuộc tính: Quan
tâm đến chỉ mục 
Có các phương thức liên quan đến chỉ mục (indexOf ..) 
Được sắp xếp theo vị trí Index 
ArrayList

Cú pháp

  1. Danh sách l = new ArrayList <E> ( ) ;

Bất động sản:

  • Mảng phát triển
  • Lặp lại nhanh
  • Truy cập ngẫu nhiên nhanh
  • Bộ sưu tập theo thứ tự
  • Chưa sắp xếp

Vectơ

Giống như một ArrayList nhưng các phương thức trong Vector được đồng bộ hóa.


Danh sách liên kết

Bất động sản

  • Các yếu tố được liên kết đôi với nhau.
  • Sắp xếp theo vị trí Index
  • Tốt để thực hiện Stack và Queue
  • Chèn và xóa nhanh

Đặt giao diện

Đặt được sử dụng khi tính duy nhất của đối tượng được xem xét. Nó không cho phép đối tượng trùng lặp. Để xác định xem hai đối tượng có bằng nhau hay không Set sử dụng các phương thức equals () và hashcode ().


Hashset

Bất động sản

  • Chưa sắp xếp
  • Không có thứ tự
  • Sử dụng mã băm của các đối tượng
  • Không có đối tượng trùng lặp
  • LinkedHashMap
  • Đặt hàng (Chèn)
  • Sử dụng mã băm của các đối tượng
  • Không có đối tượng trùng lặp

Cây Set

  • Sắp xếp (Sử dụng cấu trúc cây)
  • Sử dụng mã băm của các đối tượng
  • Không có đối tượng trùng lặp

Trong khi bạn đang ở trong tình yêu

Giao diện bộ sưu tập đồng thời

  • BlockingQueue mở rộng Hàng đợi
  • TransferQueue mở rộng BlockingQueue
  • BlockingDeque mở rộng BlockingQueue
  • Bản đồ đồng thời mở rộng Bản đồ

Thực hiện thu thập đồng thời

  • LinkedBlockingQueue mở rộng AbstractQueue thực hiện BlockingQueue
  • ArrayBlockingQueue mở rộng AbstractQueue thực hiện BlockingQueue
  • PriorityBlockingQueue mở rộng AbstractQueue thực hiện BlockingQueue
  • DelayQueue mở rộng AbstractQueue thực hiện BlockingQueue
  • SynousQueue mở rộng AbstractQueue thực hiện BlockingQueue
  • LinkedBlockingDeque mở rộng AbstractQueue thực hiện BlockingDeque
  • LinkedTransferQueue mở rộng AbstractQueue thực hiện TransferQueue
  • CopyOnWriteArrayList thực hiện Danh sách, RandomAccess
  • CopyOnWriteArraySet mở rộng Tóm tắt
  • Đồng thờiSkipListSet mở rộng Tóm tắt cài đặt Navigableset
  • ConcảnHashMap mở rộng Tóm tắt Bản đồ thực hiện Concản đồ
  • ConcảnSkipListMap mở rộng Tóm tắt Bản đồ thực hiện ConcảnNavigableMap

Các yếu tố có thể giúp quyết định Lớp thu thập

Có nhiều yếu tố khác nhau có thể được xem xét khi lựa chọn một bộ sưu tập phù hợp cho một vấn đề cụ thể. Những yếu tố này là:

  1. Đặt hàng  – Một số loại thứ tự trong các yếu tố. Ví dụ, thứ tự được sắp xếp, thứ tự chèn hoặc không có thứ tự cụ thể.
  2. Bản sao  – Có thể hoặc không muốn cho phép các phần tử trùng lặp trong bộ sưu tập.
  3. An toàn chủ đề  – Đảm bảo an toàn cho các thành phần trong bộ sưu tập trong trường hợp có nhiều luồng truy cập.
  4. Cặp khóa-giá trị  – Lưu trữ trong cặp khóa-giá trị.
  5. Các hoạt động chặn  – Đợi bộ sưu tập trở nên trống rỗng khi truy xuất một phần tử.
  6. Truy cập ngẫu nhiên  – Lấy ngay một phần tử.
  7. Bounds Upper  – Để hạn chế số lượng tối đa các yếu tố một bộ sưu tập có thể giữ.

Ngoài ra còn có các yếu tố khác như mức độ ưu tiên, độ trễ, v.v.

Cheat-tờ

  1. Bộ sưu tập là cấu trúc dữ liệu trong đó Đối tượng được lưu trữ.
  2. Các đối tượng có thể được thêm, xóa và có thể được duyệt qua trong Bộ sưu tập.
  3. Có 4 loại Bộ sưu tập cơ bản.
  4. Danh sách: Đã đặt hàng , trùng lặp được cho phép , được lập chỉ mục
  5. Bộ: Có thể hoặc không được đặt hàng. Bản sao được không cho phép.
  6. Bản đồ: Các phím trùng lặp không được phép.
  7. Queue: Ordered bởi FIFO hoặc ưu tiên.
  8. ArrayList: Lặp lại nhanh & Truy cập ngẫu nhiên nhanh.
  9. Vector: Phương pháp đồng bộ.
  10. LinkedList: Tốt để thực hiện Stack và Queue.
  11. Hashset: Truy cập nhanh, Không trùng lặp, Không đặt hàng.
  12. LinkedHashset: Không trùng lặp, lặp theo thứ tự chèn.
  13. Treeset: Không trùng lặp, lặp theo thứ tự được sắp xếp.

Bài viết gần đây

Hướng dẫn AOP Spring

Lập trình hướng đối tượng (AOP) khen ngợi OOP theo nghĩa là nó cũng cung cấp tính mô đun. Nhưng đơn vị chính của...

Bộ sưu tập cho người mới bắt đầu Java

Set là một Khung bộ sưu tập Java. Set là một Giao diện trong gói java.util . Nó thực hiện Bộ sưu tập Giao diện.

URI tùy chỉnh trong thẻ tùy chỉnh JSP

Chúng ta có thể sử dụng URI tùy chỉnh, để báo cho bộ chứa web về tệp tld. Trong trường hợp như vậy,...

Tiêm phụ thuộc với phương pháp nhà máy vào Spring

Spring framework cung cấp cơ sở để tiêm đậu bằng phương pháp nhà máy. Để làm như vậy, chúng ta có thể sử...

Sưu tập bản đồ cho người mới bắt đầu Java

Bản đồ là một Giao diện đi theo khung Bộ sưu tập Java. Map Collection Tutorial for...

Lặp lại bằng cách sử dụng thẻ tùy chỉnh JSP

Chúng ta có thể lặp lại nội dung thân của bất kỳ thẻ nào bằng phương thức doAfterBody () của giao diện IterationTag .

Leave a reply

Please enter your comment!
Please enter your name here