Cách dễ nhất để chuyển đổi HashMap thành một mảng 2D là gì?Chuyển đổi Hash Map thành 2D Array
9
A
Trả lời
8
HashMap map = new HashMap();
Object[][] arr = new Object[map.size()][2];
Set entries = map.entrySet();
Iterator entriesIterator = entries.iterator();
int i = 0;
while(entriesIterator.hasNext()){
Map.Entry mapping = (Map.Entry) entriesIterator.next();
arr[i][0] = mapping.getKey();
arr[i][1] = mapping.getValue();
i++;
}
5
Điều này chỉ có thể thực hiện khi các loại khóa và giá trị giống nhau.
Given:
HashMap<String,String> map;
tôi có thể tạo một mảng từ bản đồ này với vòng lặp đơn giản này:
String[][] array = new String[map.size()][2];
int count = 0;
for(Map.Entry<String,String> entry : map.entrySet()){
array[count][0] = entry.getKey();
array[count][1] = entry.getValue();
count++;
}
-1
lặp trên Bản đồ của bạn sử dụng entrySet, và điền vào kỷ lục mảng của bạn với các đối tượng nhập cảnh
3
Làm thế nào về
Object[][] array = new Object[][]{map.keySet.toArray(), map.entrySet.toArray()};
Hoặc, để cụ thể hơn về các loại, chúng ta hãy nói rằng họ đang Strings
: Set
's toArray
nhận một đối số gợi ý, do đó
String[][] array = new String[][]{map.keySet.toArray(new String[0]), map.entrySet.toArray(new String[0])};
Edit: Tôi chỉ nhận ra một vài ngày sau đó rằng trong khi điều này có thể hoạt động cơ hội, nói chung là không nên. Lý do là trung gian Set
; mặc dù nó được "hỗ trợ bởi bản đồ", dường như không có sự bảo đảm rõ ràng rằng nó sẽ lặp lại theo bất kỳ thứ tự cụ thể nào. Vì vậy, các mảng quan trọng và mục nhập có thể không theo thứ tự giống nhau, đó là một thảm họa chắc chắn!
Các vấn đề liên quan
- 1. Chuyển đổi Byte Array thành bit Array?
- 2. Chuyển đổi Iterable thành Array
- 3. chuyển đổi mảng 2D thành mảng 2D thành
- 4. Không thể chuyển đổi Hash thành chuỗi?
- 5. PowerShell chuyển đổi Char Array thành chuỗi
- 6. Chuyển đổi Byte Array thành Bitset
- 7. Lưu ArrayList of Hash map
- 8. Chuyển đổi một mảng numpy 2D thành C++ ngắn **?
- 9. Chuyển đổi mảng 1D thành mảng 2D theo dạng số
- 10. chuyển đổi mảng 2D thành con trỏ thành con trỏ
- 11. Chuyển đổi tài liệu Nokogiri thành Ruby Hash
- 12. Chuyển đổi Array Json
- 13. Làm thế nào để chuyển đổi mảng nổi 2D thành mảng 2D thành mảng numpy?
- 14. Cách chuyển chuỗi thành Array
- 15. Xoay 2D Array 45 độ
- 16. Làm cách nào để chuyển đổi Array [Node] thành NodeSeq?
- 17. Làm thế nào để chuyển đổi SimpleXMLObject thành PHP Array?
- 18. Cách chuyển đổi Giá trị v8 thành Array
- 19. Các trình diễn Hash và Array List
- 20. Chuyển đổi mảng 2D thành mảng có cấu trúc
- 21. Chuyển đổi một mảng 2D thành một mảng 1D
- 22. Chuyển đổi hình ảnh 2d thành mô hình 3d
- 23. làm thế nào để chuyển đổi danh sách 2d thành mảng 2d?
- 24. Chuyển đổi UIImage sang Byte Array
- 25. Byte Array để chuyển đổi hình ảnh
- 26. PHP Chuyển đổi các phím Array
- 27. Chuyển đổi Array chuỗi trong Java/groovy
- 28. Array của enums - chuyển đổi sang NSArray
- 29. Chia NSString thành Array
- 30. Chuyển đổi 2D nhanh cho DSP
Bây giờ, chúng ta có thể tạo luồng trực tuyến không? –