Tại sao các phương pháp treeMap.entrySet() và treeMap.keySet() không trả lại SortedSet? Tôi có thể đi xa đến mức nói rằng đó là một sai lầm. Theo API, một Set được định nghĩa là không có thứ tự cụ thể. Tuy nhiên, các bộ được trả về bởi TreeMap do có một thứ tự cụ thể.Không nên treeMap.entrySet() trả về một SortedSet?
8
A
Trả lời
10
Tôi nghĩ rằng nếu họ đã viết giao diện SortedMap
bây giờ, cả hai keySet
và entrySet
sẽ trở SortedSet
. Tuy nhiên, giao diện SortedMap
đã được giới thiệu trong Java 1.2 trước khi các kiểu trả về biến đổi được cho phép. Họ không thể thay đổi điều này ngay bây giờ vì sẽ có triển khai SortedMap
ngoài đó, trong đó keySet
và entrySet
trả về một Set
là không a SortedSet
.
+0
Mặc dù nó không phải là một SortedSet, nó trong thực tế xác định rằng Set trả về là theo thứ tự tăng dần, như được định nghĩa trong javadoc của giao diện SortedMap. – Robin
Các vấn đề liên quan
- 1. Tại sao TreeSet của Scala trả về SortedSet
- 2. Tại sao SingletonSet không triển khai SortedSet
- 3. Tôi không thể đặt một null trong một SortedSet?
- 4. Tôi có nên trả về một mảng hoặc một bộ sưu tập từ một hàm không?
- 5. Tôi có nên lưu chuỗi được NSLocalizedString() trả về không?
- 6. NSMutableArray containsObject trả về true, nhưng nó không nên
- 7. Chuỗi trả về Javascript về những gì nên là một bài kiểm tra boolean viết tắt
- 8. Tôi có nên trả về giá trị TRUE/FALSE từ một hàm C không?
- 9. Lớp dịch vụ có nên trả về các kiểu xem cho một ứng dụng MVC không?
- 10. Tôi có nên trả về null hoặc ném một ngoại lệ không?
- 11. Bạn có nên trả về "const char *" từ một hàm không?
- 12. Không nên Rails phương thức find_by_ trả về một mảng trống thay vì nil?
- 13. Phương pháp có nên kết thúc bằng không? (dấu chấm hỏi) chỉ trả về một boolean?
- 14. Có chấp nhận trả lại unmodifiableList hoặc tôi có nên trả về mảng không?
- 15. Trả về một biến từ một hàm trong php (trả về không hoạt động)
- 16. Loại đối tượng nào nên chức năng này trả về?
- 17. __unicode __() không trả về một chuỗi
- 18. Phân chia MATLAB ... nên 29/128 trả về 0?
- 19. Trả về một ResultSet
- 20. Có thể keySet() của SortedMap luôn được đúc an toàn cho một SortedSet không?
- 21. Trả về một con trỏ
- 22. Các chức năng có nên luôn trả về một cái gì đó (Javascript)
- 23. Tại sao chúng ta nên luôn trả về các giá trị từ một hàm?
- 24. Tại sao tôi nên loại bỏ một nửa số tiền FFT trả về?
- 25. trả về một boolean - JdbcTemplate
- 26. Trả về một mảng mà không gán cho một biến
- 27. Một Runnable có thể trả về một giá trị không?
- 28. Trong REST, tôi có nên trả về biểu diễn để đáp ứng với PUT không?
- 29. PHP7: không nên khai báo kiểu trả về vô hướng chấp nhận số nguyên?
- 30. ASP MVC: Các dịch vụ có nên trả về IQueryable không?
Điều gì khiến bạn nghĩ rằng nó không trả về một 'SortedSet' (tôi đoán bạn có nghĩa là' TreeSet' ở đó)? –
@RohitJain Đó là những gì API nói. –
API chỉ nói rằng nó sẽ trả về chế độ xem 'Đặt'. Việc thực thi 'Set' thực tế mà nó trả về là không có, và không nên ở đó. Đó là chi tiết triển khai. –