Trong Java, tôi không hiểu bộ sưu tập nào so với 'cấu trúc dữ liệu'. Dường như với tôi rằng bộ sưu tập đề cập đến danh sách, bộ, bản đồ, hàng đợi và 'cấu trúc dữ liệu' đề cập đến cấu trúc dữ liệu được sử dụng để triển khai bộ sưu tập như mảng, danh sách được liên kết hoặc cây. Ví dụ ArrayList và LinkedList là cả hai bộ sưu tập, nhưng cấu trúc dữ liệu của chúng tương ứng là một mảng và một danh sách liên kết. Tôi có đúng không, hoặc tôi có nhầm lẫn điều khoản không?Java: Sự khác biệt giữa bộ sưu tập và 'Cấu trúc dữ liệu'
Trả lời
Cấu trúc dữ liệu là cách dữ liệu được thể hiện bên trong bộ nhớ trong bộ nhớ. Một bộ sưu tập là cách nó có thể được truy cập. Tôi nhấn mạnh vào từ "có thể".
Nếu bạn lưu trữ dữ liệu trong LinkedList và sắp xếp dữ liệu, hiệu suất sẽ giảm. Các thuật toán tương tự nếu bạn sử dụng một ArrayList hiệu suất sẽ tăng cường. Chỉ bằng cách thay đổi cách biểu diễn của nó trong bộ nhớ sẽ giúp các yếu tố khác nhau.
Bạn "có thể" truy cập bằng cách sử dụng biểu diễn bộ sưu tập, bạn "có thể" cũng sử dụng "chỉ mục" để truy cập dữ liệu. Bạn "có thể" cũng đi getFirst, getNext, getPrev.
Sự nhầm lẫn của bạn giữa bộ nhớ trong và truy cập bộ nhớ. Tách biệt 2.
Cấu trúc dữ liệu là một thuật ngữ chung cho một đối tượng đại diện cho một số loại dữ liệu, do đó danh sách, mảng được liên kết, vv là tất cả các cấu trúc dữ liệu. Một bộ sưu tập theo nghĩa Java đề cập đến bất kỳ lớp nào thực hiện giao diện Collection
. Một bộ sưu tập theo nghĩa chung là chỉ một nhóm các đối tượng.
Liệu bộ sưu tập hạn có ý nghĩa trong các ngôn ngữ lập trình khác, hoặc nó thực sự là một thuật ngữ mà Java sử dụng? – user1888243
Đó là một thuật ngữ chung chung. Nhưng khi được sử dụng trong ngữ cảnh Java, nó thường có nghĩa là các lớp sưu tập java. –
+1 Và ngoài ra, theo định nghĩa đó, việc triển khai giao diện 'Bộ sưu tập' là một cấu trúc dữ liệu cung cấp các phương thức để xử lý một nhóm đối tượng. –
Cấu trúc dữ liệu có khái niệm về một số loại lược đồ, ví dụ: một đại diện của một ngôi nhà sẽ liệt kê những thứ như cảnh quay vuông, phòng ngủ, v.v. Đó là điều thường có nghĩa là: cấu trúc của tên miền được biểu diễn như dữ liệu như thế nào?
Bộ sưu tập là, như Jeff nói, chỉ là một tập hợp các đối tượng. Bộ sưu tập có cấu trúc nhưng cấu trúc của chúng chỉ là tổ chức, ví dụ: một cây, hoặc một danh sách hoặc một LinkedList.
- 1. Sự khác biệt giữa Bộ sưu tập và Vùng chứa
- 2. Sự khác biệt giữa Bộ sưu tập và Bộ sưu tập Java
- 3. Giải thích sự khác biệt giữa cấu trúc * dữ liệu * và loại dữ liệu *
- 4. Sự khác biệt giữa cấu trúc dữ liệu Cây và đồ thị là gì?
- 5. Sự khác biệt giữa cấu trúc dữ liệu tĩnh và động
- 6. Sự khác biệt giữa cấu trúc trong C và C++
- 7. Cấu trúc và cấu trúc dữ liệu khác nhau
- 8. sự khác biệt giữa cấu trúc tĩnh và cấu trúc bình thường là gì?
- 9. Sự khác biệt giữa String.getBytes() và Bytes.toBytes (Dữ liệu chuỗi)
- 10. Sự khác nhau giữa Bộ sưu tập và Danh sách trong Java là gì?
- 11. Sự khác biệt giữa tập dữ liệu và cơ sở dữ liệu là gì?
- 12. Sự khác biệt giữa PriorityQueue và TreeSet trong Java?
- 13. Sự khác nhau giữa một kiểu dữ liệu trừu tượng (ADT) và một cấu trúc dữ liệu là gì?
- 14. Bộ sưu tập MongoDB không được cấu trúc với mgo
- 15. Có tên cho bộ sưu tập cấu trúc dữ liệu mảng được sắp xếp này không?
- 16. Sự khác biệt giữa '.' và "." trong java
- 17. Bộ sưu tập nào để lưu trữ cấu trúc cây?
- 18. Sự khác biệt về Java giữa FileWriter và BufferedWriter
- 19. Cấu trúc dữ liệu Java Tham chiếu
- 20. Sự khác nhau giữa cấu trúc CvCapture và cấu trúc VideoCapture là gì?
- 21. bộ sưu tập java so với bản đồ trong khung bộ sưu tập
- 22. Công cụ khác biệt dữ liệu để tìm sự khác biệt giữa hai Tệp MDB Access
- 23. Cọ vẽ cấu trúc dữ liệu (Java)
- 24. Sự khác biệt giữa các cấu trúc rời rạc và Toán rời rạc
- 25. sự khác biệt giữa phiên, bộ đệm và cấu hình trong asp.net
- 26. Sự khác biệt giữa SimpleDB và S3
- 27. Sự khác biệt giữa RDLC và SSRS
- 28. Java câu hỏi cấu trúc dữ liệu
- 29. Sự khác biệt giữa java 1.5 và java 1.6
- 30. Sự khác biệt giữa Java Bean và Enterprise Java Beans?
Mặc dù câu hỏi đơn giản, nhưng vui vì bạn đã hỏi. Nhiều người không hỏi và vẫn còn nghi ngờ mãi mãi :-) – CuriousMind