راهی هست یک آرایه روی حذف کنیم و یک آریه با همون اسم بسازیم؟

سلام دوستان

دوستان راهی هست در زمان run بودن کد یک آرایه رو حذف کنیم و با همون اسم یک آریه جدید ولی با طول متفاوت بسازیم؟

یکی می گفت با متغیر های بی نام میشه ولی من در مورد اطلاعات بی نام ندارم

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

سلام دوست گرامی

می توانید از آرایه پویا استفاده کنید که نیازی نباشد به دلیل محدودیت در تعداد اندیس ها مجبور به حذف آن و ساخت یک آرایه جدید با همان نام و تعداد اندیس متفاوت شوید

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

ممنون از راهنمایی

این سوال استاد گفته تا انجام بدیم و گفته حتما از آرایه های استاتیک استفاده بشه

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

امکان دارد متن سوال را در همین جا بصورت دقیق بنویسید ؟!

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

گفته که آرایه ای طراحی کنید که وقتی 90% اندیس هاش پر شد به صورت خودکار به تعداد اندیس های آرایه اضافه بشه و وقتی 80% اندیس ها پر بود یک به صورت خودکار اون %20 باقی مانده پاک بشه 

کلا منظور اینه که یک آرایه ی استاتیک مصرف حافظش داینامیک کرد

ببخشید اگه بد توضیح دادم

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

نه خواهش میکنم ؛ اتفاقا خوب توضیح دادید.

چنین کاری از لحاظ عملی غیر ممکنه به شرطی که آرایه ی دوم که ساخته میشه هم نام نباشه ؛ زیرا تعریف کردن دو آرایه به نام یکسان غیرممکنه حالا چه برسه سایز های اون تغییر کنه.

اما میتونید این عمل رو روی یک آرایه دیگر (غیر همنام) انجام دهید به این صورت که چک کنید چند درصد آرایه پرشده و با استفاده از این درصد این کار رو انجان دهید.

برای محاسبه درصد :

int[] myArray = new int[20];
int full = 8;
int percent = (100 / myArray.length) * full; // (100 / 20) * 8 = 40
System.out.println(percent + "%"); // Output : 40%

در این نمونه کد ، ما مقدار پر شدن آرایه رو بصورت آزمایشی 8 قرار دادیم تا درصد رو حساب کنیم.

برای مثال کاملش هم در همین تاپیک ساعات آینده نمونه کد رو قرار میدم.

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

مشکل من بعد از اینه چون وقتی یک بار آرایه جدید ساختم باز امکان داره این آرایه هم پر بشه و نیاز به ساخت آرایه جدید باشه که این مشکله.  اگه امکان داشت که بجای اسم از چیز دیگه ای استفاده کرد این مشکل حل میشد .

از خود استاد پرسیدم گفت با متغیر های بی نام میشه که فکرکنم با pointer ها کار میکنه ولی من اطلاعاتی راجبش ندارم

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

دوستان کسی در این مورد اطلاعی نداره؟

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

طبق سوال شما من هیچ ایده‌ای به نظرم نرسید! مگه اینکه کلا صورت مسئله مشکل داشته باشه در هر صورت لطفا جواب این سوال رو اگه پیدا کردید یا استادتون اون رو حل کرد اینجا قرار بدید. متشکرم.

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

این کار کاملا امکانپذیره ، جالبه بدونید این قانون ساخت List یا آرایه های داینامیک هست ، کافیه یه کلاس برای مدیریت آرایه بسازید ، زمانی که ۸۰ درصد یا ۹۰ درصد رسید آرایه جدیدی بسازید و همه آبجکت ها را بازنویسی کنید ، مجددا آرایه با اسم اول را null کرده و سپس با سایز جدید new کنید و از آرایه temp درون این آرایه که با نام اول هست بریزید، کافیه یه کلاس برای مدیریت آرایه در نظر گرفته شود.

online-support-icon