2012-10-03 8 views
8

Trong C# có loại DataTable có thể được sử dụng để tạo cấu trúc đa cột. Trong java tôi có thể sử dụng hashmaps lồng nhau nhưng cấu trúc quá phức tạp của nó ngay cả khi bạn có 3 cột. Liệu lõi java có hỗ trợ bất kỳ cấu trúc nào như vậy mà không bao gồm bất kỳ thư viện bên ngoài nào không?Cấu trúc nhiều cột Java

Tôi có thể sử dụng các mảng đa chiều nhưng vẫn kiểm tra mọi tùy chọn có thể.

Trả lời

4

Java không có định dạng bảng có sẵn trực tiếp. Tuy nhiên, chúng ta có thể sử dụng chức năng generics cho lợi thế của chúng ta ở đây. Bạn có thể đọc về chúng here. Bản sao sẽ giống như thế này

Map<String, List<String>> tableMap = new HashMap<String, List<String>>(); 

Bây giờ, bạn có cấu trúc 2D với một số nhận dạng Chuỗi cho mỗi hàng và phần còn lại của hàng được lưu trữ dưới dạng danh sách. Bạn cần phải chọn định danh duy nhất cho mỗi hàng mặc dù, vì vậy nếu bạn đang nhắm đến ánh xạ nó với một bảng (như bạn làm trong C#), hãy đảm bảo rằng khóa của HashMap là khóa chính của bảng.

Tôi hy vọng điều đó sẽ hữu ích.

0

Có một chiều hai chiều Table trong Guava, nhưng không có gì trong JDK.

0

Không có tương đương trực tiếp trong Java. Bạn có thể sử dụng javax.sql.rowset.WebRowSet hoặc java.sql.ResultSet để tạo cấu trúc dữ liệu.