2012-07-13 40 views
5

Theo http://docs.oracle.com/javase/tutorial/collections/interfaces/index.html có hai giao diện cấp cao nhất được gọi là bộ sưu tập và bản đồ.bộ sưu tập java so với bản đồ trong khung bộ sưu tập

Lý do chính xác để tách hai trường hợp này là gì?

Có phải tất cả các cấu trúc dữ liệu giá trị khóa đều triển khai giao diện bản đồ và tất cả các cấu trúc dữ liệu khác thực hiện giao diện bộ sưu tập?

Trả lời

18

Vâng, đúng vậy! Kiểm tra tất cả các lớp học List và sau đó kiểm tra tất cả các lớp học liên quan Map.

và có cuộc thảo luận tuyệt vời này, OB câu hỏi này

List vs Map in Java

Nhìn bề ngoài

Đây là một bộ sưu tập, bằng cách này bạn biết rằng những cuốn sách đang có và đó là theo thứ tự như 0,1,2,3 ...

enter image description here

Nhưng trong một Bản đồ, các sách nằm trong bộ nhớ không có thứ tự nhưng để thuận tiện cho máy tính, nó có chìa khóa để tìm sách, như trong thư viện.

enter image description here

5

A Map là cấu trúc có ánh xạ khóa duy nhất cho giá trị. A Collection chỉ là một nhóm nhiều giá trị không có khóa cụ thể.

Bạn có thể thực hiện so sánh tương tự giữa ListMap để xem sự khác biệt. This SO question giải quyết những khác biệt này.

Các vấn đề liên quan