نوشته شده توسط
Aerox1
ArratList<Integer[][]> A = new ArrayList<Integer[][3]>();
من ماتریسی رو میخوام که 3 تا ستون داشته باشه با تعداد سطرهای متغیر . کد بالا رو هم ایراد میگیره
این کدی که نوشتید مشکلش اینه که موقعی که میخواید یه ArrayList از آرایه درست کنید، ArrayList کاری به این قضیه نداره که آرایه طولش چقدر باید باشه، ArrayList فقط میدونه که قراره آرایه نگه داره( داریم در مورد طول آرایه صحبت میکنیم، نه تعداد بعدهای آرایه)
از طرفی این کدی که شما نوشتید یه ماتریس با 3 ستون درست نمیکنه(اگه فرض کنیم کد درست باشه)، عملا یه مجموعه از ماتریسها با 3 ستون درست میکنه،
2 روش برای ایجاد ماتریس با 3 ستون:
ArrayList<Integer[]> dynaMatrix = new ArrayList<Integer[]>();
Integer[][] staMatrix = new Integer[n][3];
فرق اصلی dynaMatrix با staMatrix اینه که ماتریس اول داینامیکه، یعنی هم تعداد سطرها، هم تعداد ستونها زمان اجرا میتونه تغییر کنه، اما دومی اینطوری نیست، تعداد سطرهاشو(متغیر n) از یه جایی میخونی و یه بار ست میکنی، تعداد ستونهاشم که همواره 3 تاست!