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