Tôi cần sử dụng Bản đồ trong Java cho Ứng dụng Android. Nhưng vấn đề là danh sách được sắp xếp tự động. Làm cách nào để sử dụng Maps để lấy dữ liệu theo cùng thứ tự như tôi đã chèn dữ liệu.Bản đồ (bộ sưu tập) duy trì Thứ tự chèn trong java
Trả lời
Bạn nên sử dụng LinkedHashMap
cho mục đích này..Truy cập Android Docs và Java Docs để biết thêm chi tiết.
A LinkedHashMap sẽ giữ dữ liệu theo thứ tự giống như đã được chèn.
LinkedHashMap duy trì thứ tự chèn.
Không chỉ vậy, nó có một móc dễ dàng để xây dựng một bộ nhớ cache ra khỏi nó. Rất đẹp. – Argyle
sử dụng LinkedHashMap
. please follow this link for more details
Như bạn và tôi đã phát hiện ra, LinkedHashMap không hữu ích lắm. (Điểm về sự tồn tại của nó là gì, dù sao?)
Tôi có một hashlist (ngữ nghĩa, tôi nghĩ rằng nó nên được gọi hashedlist)
Nó có một ArrayList và một hashmap. Danh sách mảng lưu trữ khóa.
Một hashlist.put (key, value) sẽ thực hiện
- một map.put (key, value)
- cũng như một list.add (key)
Một hashlist.get (int position) sẽ thực hiện - một map.get (list.get (position))
Đây là một sự đơn giản hóa của các lớp HashVector và HashTree mà tôi đã viết vào năm 2003 khi tôi cần thiết để tạo mô hình javascript và các đối tượng xml trong Java, giữ lại thứ tự của chúng. Tuy nhiên, tôi không tìm thấy thời gian hoặc sự cần thiết để đơn giản hóa hashtree cho khả năng tuần tự gwt.
Trên suy nghĩ thứ hai, GWT triển khai hashmap như thế nào? Tôi nghĩ rằng khi tôi có thời gian, tôi cần phải thay thế hashmap bằng faststringmap. Faststringmap của Google không công khai. Nó dành cho việc sử dụng riêng của trình biên dịch GWT. Vì vậy, bạn phải sao chép mã của nó và thay đổi nó thành một lớp công cộng: http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/user/client/ui/FastStringMap.java
Có thể, biên dịch GWT sẽ âm thầm sử dụng nó anyway - Tôi nên bận tâm để quản lý vi mô trình biên dịch thay thế hashmap với faststringmap?
BTW,
Bạn vẫn có thể tìm kiếm các hashtree bởi googling "googlecode synthful hashtree".
Hashtree cho phép bạn tạo một cây đối tượng và cho phép bạn truy xuất đối tượng của mình bằng cách sử dụng đường dẫn xpath theo đường chấm điểm.
hashtree.get("hello.dolly.how.are.you");
Các tách có thể xác định lại để bạn có thể lưu trữ hoặc được sử dụng
hashtree.get("hello/dolly/how/are/you");
hashtree.put("hello/dolly/how/are/you", value);
Có vẻ như bạn không hiểu mục đích của LinkedHashMap, bạn mong đợi điều gì từ nó? –
Thực sự tò mò, khía cạnh nào của LinkedHashMap làm cho nó không phù hợp với mục đích của OP? –
linkedhashmap.insert (6, khóa, giá trị)? linkedhashmap.remove (7)? linkedhashmap.put (20, khóa, giá trị)? Có vẻ như tôi không hiểu mục đích của các cửa sổ MS khi tôi có thể sử dụng Linux. –
- 1. Bộ sưu tập Java duy trì thứ tự chèn
- 2. Bộ sưu tập khóa/giá trị duy trì thứ tự
- 3. Ruby duy trì thứ tự chèn Hash
- 4. sử dụng boost multi_index_container để duy trì thứ tự chèn
- 5. bộ sưu tập java so với bản đồ trong khung bộ sưu tập
- 6. Hibernate - Cách duy trì một mục mới trong Bộ sưu tập mà không tải toàn bộ Bộ sưu tập
- 7. Bộ sưu tập java có cặp khóa/giá trị và được sắp xếp theo thứ tự chèn
- 8. Bộ sưu tập cặp khóa/giá trị chung trong đó giữ lại thứ tự chèn?
- 9. Hibernate chèn các bản sao vào bộ sưu tập @OneToMany
- 10. Bộ sưu tập bản đồ JPA của Enums
- 11. Bản đồ AutoMapper từ bộ sưu tập lồng nhau nguồn đến bộ sưu tập khác
- 12. mẫu java để duy trì ổn định các chỉ số trên dữ liệu trong bộ sưu tập
- 13. Sẽ std :: multimap duy trì thứ tự chèn nếu khóa của 2 yếu tố bằng nhau?
- 14. Scala: cách hợp nhất một bộ sưu tập Bản đồ
- 15. Bộ sưu tập Java không có Bản đồ như một phần của khung tuyển tập
- 16. @embeddable vs @entity để lập bản đồ bộ sưu tập
- 17. Lớp Java triển khai Bản đồ và giữ thứ tự chèn?
- 18. Phương thức bản đồ Groovy của bộ sưu tập
- 19. Làm thế nào để duy trì thứ tự các mục được thêm vào bộ khớp jQuery?
- 20. Bộ sưu tập bản đồ của các đối tượng
- 21. Bộ sưu tập lười biếng trong Java
- 22. AutoMapper: Lập bản đồ bộ sưu tập trẻ em
- 23. Bộ sưu tập giống Java trong PHP
- 24. LINQ: Tìm kiếm một bộ sưu tập trong một bộ sưu tập cho một đối tượng duy nhất
- 25. Bộ sưu tập rác java
- 26. Làm cách nào để thêm các phần tử từ một bộ sưu tập không tồn tại trong bộ sưu tập thứ hai vào bộ sưu tập thứ ba?
- 27. Bộ sưu tập Java - Khóa duy nhất và giá trị duy nhất
- 28. Bộ sưu tập ngẫu nhiên Java
- 29. Có bộ sưu tập không bị chặn trong Java không?
- 30. Bản giảm trong RavenDb hơn 2 bộ sưu tập với bộ sưu tập con
nó có thể là khôn ngoan để đổi tên tiêu đề để phản ánh tốt hơn thực tế rằng bạn đang quan tâm đến một bản đồ duy trì chèn order –
Danh sách nào được sắp xếp tự động? Đó có phải là vấn đề không? hoặc là một phần của câu hỏi * câu hỏi của bạn? * Câu hỏi vẫn chưa rõ ràng. – EJP