Tôi muốn biết: Bộ sưu tập trong Java là gì?Bộ sưu tập java là gì?
Trả lời
Đây là lớp triển khai giao diện java.util.Collection.
Có một nhánh khác cho những người triển khai java.util.Map.
Đây là cơ sở cho các cấu trúc dữ liệu trong Java: List, Set, LinkedList, HashMap, TreeMap vv
Collection
là một giao diện trong Java API, và according to the docs nó là ...
Giao diện gốc trong phân cấp bộ sưu tập. Một bộ sưu tập đại diện cho một nhóm các đối tượng, được gọi là các thành phần của nó. Một số bộ sưu tập cho phép các phần tử trùng lặp và các bộ sưu tập khác thì không. Một số được đặt hàng và những người khác không có thứ tự. JDK không cung cấp bất kỳ triển khai trực tiếp nào của giao diện này: nó cung cấp việc triển khai các giao diện con cụ thể hơn như Set và List. Giao diện này thường được sử dụng để truyền các bộ sưu tập xung quanh và thao tác chúng ở nơi có tính tổng quát tối đa.
ví dụ thường gặp của bộ sưu tập là: ArrayList
, HashSet
, LinkedList
, Stack
và Vector
.
Trích dẫn Java API "Bộ sưu tập - đôi khi được gọi là vùng chứa - chỉ đơn giản là một đối tượng nhóm nhiều phần tử vào một đơn vị duy nhất."
Thông thường một thể hiện của java.util.Collection (mặc dù java.util.Map là chính thức cũng là một phần trong khuôn khổ bộ sưu tập)
Mặc dù giao diện Bộ sưu tập có thể được thực hiện trực tiếp, thường là mã khách hàng sẽ sử dụng một thực hiện một trong các giao diện phụ: Set , List, Queue/Deque
Dưới đây là một số mã mẫu (ở phía bên trái, bạn sẽ thường thấy giao diện và bên phải lớp triển khai).
Sets không lưu trữ các bản sao, tất cả các yếu tố của họ là duy nhất:
final Set<String> basicSet = new HashSet<String>();
basicSet.add("One");
basicSet.add("Two");
basicSet.add("One");
basicSet.add("Three");
System.out.println(basicSet.toString());
// Output: [Three, One, Two]
// (seemingly random order, no duplicates)
SortedSets là một trường hợp đặc biệt của bộ lưu trữ các yếu tố trong một trật tự quy định:
final SortedSet<String> sortedSet = new TreeSet<String>();
sortedSet.add("One");
sortedSet.add("Two");
sortedSet.add("One");
sortedSet.add("Three");
System.out.println(sortedSet.toString());
// Output: [One, Three, Two]
// (natural order, no duplicates)
Lists cho phép bạn lưu trữ một giá trị nhiều lần và truy cập hoặc sửa đổi thứ tự chèn:
final List<String> strings = new ArrayList<String>();
strings.add("Two");
strings.add("Three");
strings.add(0, "One");
strings.add(3, "One");
strings.add("Three");
strings.add(strings.size() - 1, "Two");
System.out.println(strings);
// Output: [One, Two, Three, One, Two, Three]
Cũng có một cách viết tắt thực tế để xác định danh sách:
List<String> strings = Arrays.asList("One", "Two", "Three");
// this returns a different kind of list but you usually don't need to know that
v.v.
Để có được một sự hiểu biết tốt hơn, đọc The Collections Trail từ Sun Java Tutorial (trực tuyến), hoặc Java Generics and Collections bởi Maurice Naftalin và Philip Wadler
Tôi nghĩ rằng câu hỏi này là trả lời tốt nhất trong một cảm giác phi lập trình.
Giả sử bạn có 5 quả bóng và bạn muốn di chuyển chúng dễ dàng. Bạn nhận được một túi và đặt 5 quả bóng bên trong của nó. Túi hoạt động như một thùng chứa. Bây giờ bạn có thể di chuyển túi này xung quanh, và vì vậy khá dễ dàng trong 5 quả bóng di chuyển với nó.
Chỉ cần đặt, bạn giữ không hoặc nhiều đối tượng, bên trong một đối tượng khác để dễ dàng truy xuất.
- 1. Bộ sưu tập rác java
- 2. Loại bộ sưu tập cơ bản trong Scala là gì?
- 3. Thế hệ trong Bộ sưu tập rác là gì?
- 4. java: trả lại bộ sưu tập
- 5. Sự khác biệt giữa Bộ sưu tập và Bộ sưu tập Java
- 6. Bộ sưu tập ngẫu nhiên Java
- 7. Bộ sưu tập lười biếng trong Java
- 8. Bộ sưu tập giống Java trong PHP
- 9. bộ sưu tập java so với bản đồ trong khung bộ sưu tập
- 10. Sự khác nhau giữa Bộ sưu tập và Danh sách trong Java là gì?
- 11. Bộ sưu tập chính và bộ sưu tập nhỏ của Java
- 12. Cách tốt nhất để chuyển đổi bộ sưu tập phi chung chung thành một bộ sưu tập chung là gì?
- 13. Chuyển đổi một bộ sưu tập Java thành một bộ sưu tập Scala
- 14. Java: sao chép Bộ sưu tập tùy ý thông qua tham chiếu đến Bộ sưu tập
- 15. Chung Bộ sưu tập
- 16. Backbone.js Bộ sưu tập của Bộ sưu tập
- 17. Bộ sưu tập của Java.shuffle đang làm gì?
- 18. Bộ sưu tập rác
- 19. C# Đặt bộ sưu tập?
- 20. Java/Scala (sâu) bộ sưu tập khả năng tương tác
- 21. Bạn đề xuất thư viện Bộ sưu tập Java nào?
- 22. Bộ sưu tập Java duy trì thứ tự chèn
- 23. Bộ sưu tập được đồng bộ hóa
- 24. Java -> Scala, biểu diễn trên bộ sưu tập
- 25. Bộ sưu tập chung được sưu tầm
- 26. tùy serialization các bộ sưu tập java sử dụng xStream
- 27. Loại kết nối Java, biến, mảng và bộ sưu tập
- 28. An toàn loại tốt hơn trong bộ sưu tập Java
- 29. Hiệu suất của lớp Bộ sưu tập trong Java
- 30. Có bộ sưu tập không bị chặn trong Java không?
đã chỉnh sửa chỉnh sửa trước đó, không có điểm nào tạo thẻ "googleable" –
Tôi muốn có một huy hiệu "Googeable" – Daniel
Là một người đấu tranh với việc học chính mình. Hãy để tôi đưa ra một số lời chỉ trích mang tính xây dựng. Làm bài tập ở nhà của bạn trước và cho người khác xem quả của lao động đó. Google câu hỏi này đầu tiên. Sau đó, tạo một số ví dụ cụ thể và xem liệu những người khác có thể phê bình sự hiểu biết của bạn hay không. Bằng cách này, bạn xây dựng sự tôn trọng cho chính mình và tôn trọng người khác. May mắn nhất. Tất cả chúng ta đều học. – GeekyOmega