2010-11-06 42 views
43

Được rồi, vì vậy tôi có một mảng 2D z [50] [50] và kích thước của z là 50 * 50, nhưng nếu tôi nói z.length tôi chỉ nhận được 50 trở lại. Làm thế nào để có được kích thước thực của một mảng 2D?Lấy kích thước của một mảng 2D

+2

Câu hỏi này có vẻ hơi mơ hồ : "kích thước thực" là gì? –

Trả lời

77

Trong Java, mảng 2D là thực sự mảng của mảng với chiều dài có thể khác nhau (không có bảo đảm rằng trong mảng 2D mà các mảng chiều thứ 2 tất cả có cùng độ dài)

Bạn có thể lấy chiều dài của bất kỳ thứ 2 mảng thứ nguyên là z[n].length trong đó 0 <= n < z.length.

Nếu bạn đang xử lý mảng 2D làm ma trận, bạn có thể chỉ cần nhận z.lengthz[0].length, nhưng lưu ý rằng bạn có thể giả định rằng đối với mỗi mảng trong thứ nguyên thứ 2 có độ dài giống nhau (đối với một số các chương trình này có thể là một giả định hợp lý).

+0

lưu ý: điều này có thể vi phạm một số mô hình lập trình, nhưng các quy tắc được thực hiện để phá vỡ amirite? – easymoden00b

8

Mở rộng trên những gì Mark Elliot đã nói trước đó, cách dễ nhất để có được kích thước của một mảng 2D cho rằng mỗi mảng trong mảng của mảng là có cùng kích thước là:

array.length * array[0].length 
+0

mảng [0] .size() có nghĩa là mảng không phải là mảng 2D, mà là một mảng Bộ sưu tập. –

Các vấn đề liên quan