tức là, Thiết lập của Ruby có tương đương với LinkedHashSet của Java không?Thiết lập trong Ruby có luôn bảo toàn thứ tự chèn không?
8
A
Trả lời
10
Trong Ruby 1.9: có. Trong Ruby 1.8: có thể không phải là.
Set
uses a Hash
internally; và kể từ khi băm được chèn vào trong 1,9, bạn nên đi!
Khi mu is too short chỉ ra, đây là chi tiết triển khai và có thể thay đổi trong tương lai (mặc dù không có khả năng). Rất may, việc triển khai hiện tại Set
là ruby tinh khiết và có thể được điều chỉnh thành OrderedSet
trong tương lai nếu bạn thích
Các vấn đề liên quan
- 1. Ruby duy trì thứ tự chèn Hash
- 2. Có một thứ tự chèn nào được bảo quản Đặt cũng thực hiện Danh sách không?
- 3. Có phải "==" trong Ruby luôn luôn có giá trị bình đẳng không?
- 4. TCP có được đảm bảo đến đúng thứ tự không?
- 5. Trong Mercurial, có một thiết lập để luôn luôn đẩy chi nhánh mới?
- 6. thiết lập thứ tự z của View với bringChildToFront()
- 7. Autotest, Shoulda, Ruby - Thiết lập?
- 8. Thiết lập bộ thử nghiệm trong Ruby
- 9. Khởi tạo biến toàn cục và biến tĩnh thành 0 luôn luôn là không cần thiết?
- 10. Việc liệt kê nhanh trong Objective-C có đảm bảo thứ tự lặp lại không?
- 11. Kết quả của truy vấn LINQ luôn được đảm bảo theo đúng thứ tự?
- 12. Tại sao chèn các phím vào thứ tự python dict nhanh hơn doint nó không có thứ tự
- 13. Ruby Hash .keys và .values, an toàn để có cùng một thứ tự?
- 14. Phương thức nhập của Ruby có luôn riêng tư không?
- 15. Không thể thiết lập thuộc tính không an toàn
- 16. Bảo mật mật khẩu trong thiết lập nginx Multi-Dev
- 17. Thứ tự semaphore được đảm bảo?
- 18. Thứ tự chèn và truy tìm ArrayList
- 19. Phần tử lược đồ tuần tự có đảm bảo thứ tự các phần tử con không?
- 20. Bộ sưu tập C# có luôn thực thi thứ tự không?
- 21. Bản đồ STL có luôn đặt cùng thứ tự khi lặp lại từ đầu() đến kết thúc() không?
- 22. Không tăng :: asio :: io_service bảo quản thứ tự xử lý?
- 23. Foreach có được đảm bảo lặp lại theo thứ tự mảng trong php không?
- 24. Thứ tự trong truy vấn phụ có được bảo đảm để được giữ nguyên không?
- 25. Phương thức String.Split có đảm bảo thứ tự trong mảng kết quả không?
- 26. php array_filter không có bảo toàn khóa
- 27. Danh sách Python có được bảo đảm để các phần tử của nó được giữ nguyên theo thứ tự chúng được chèn vào không?
- 28. Có phải cho (auto i: unordered_map) được đảm bảo có cùng thứ tự mỗi lần không?
- 29. OpenGL có đảm bảo rằng các nguyên thủy trong bộ đệm đỉnh sẽ được vẽ theo thứ tự không?
- 30. Thiết lập Vim cho Ruby on Rails
Sắp xếp. [Tài liệu] (http://ruby-doc.org/stdlib-1.9.3/libdoc/set/rdoc/Set.html) nói "Thiết lập thực hiện một tập hợp các giá trị không có thứ tự mà không có bản sao". Việc sử dụng Hash bên trong là một chi tiết triển khai có thể thay đổi bất cứ lúc nào và "trật tự" không được đảm bảo bởi thông số giao diện. OTOH, nó cũng nói rằng "Set sử dụng Hash là lưu trữ." vì thế... –