مجید آرتا 5,874 ارسال شده در 12 آبان، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 آبان، ۱۳۹۴ به نام خدا سلام خب اولین پست آموزشی بنده برای برنامه نویسی آندروید به زبان جاوا هستش و امیدوارم که بتونم موثر واقع بشم خب دوستان ما توی بیسیک هم این حالت رو داشتیم آرایه های استاتیک رو به این شکل تعریف می کردیم : Dim numbers() As Int numbers = Array As Int( 2 , 4 , 6) خب با یک نگاه ساده درک می کنیم که این آرایه 3 خانه و یا 3 عنصر داره و به خاطر استاتیک بودن ( ایستا ) ما بیشتر از 3 تا عدد نمیتونیم بهش نسبت بدیم. و اندیس ها این آرایه به این شکل هستش : 0 1 2 پس یاد گرفتیم که شماره آرایه از 0 شروع میشه و ایستا بودن اینجا مشخص میشه که شما اگه بخوایید عنصری با شماره اندیس 3 وارد کنید اینجاست که کامپایلر ازتون خطا می گیره و بهتون اخطار داده میشه که آرایه شما 3 عنصر بیشتر ظرفیت نداره. حالا همین نوع آرایه در زبان جاوا به این شکل هستش : int[] num = new int[10]; خب این آرایه رو میتونیم به شکل های مختلفی بهش مقدار بدیم روش اول : for (int j = 0; j < num.length; j++) { num[j] = j * 3; } روش دوم همون اول به صورت دستی می تونیم بهش مقدار بدیم : int[] num = new int[]{ 2, 4, 6, 8, 10 }; نوع دوم آرایه ها ، آرایه های پویا و یا داینامیک که معادلش توی بیسیک به این صورت هستش : Dim L As List L.Initialize L.Add("Majid") L.Add("Mehdi") L.Add("AnswerCenter") 'Or L.AddAll(Array As String("Majid","Mehdi","AnswerCenter")) توی این حالت نیازی نیست تعداد عناصر رو تعریف کنیم و محدود کنیم. حالا به زبان جاوا : ArrayList<String> strList = new ArrayList<String>(); strList.add("Majid"); strList.add("Mehdi"); strList.add("Yaser"); strList.add("Arsalan"); strList.add("Mostafa"); یک آرایه از نوع String اما به صورت پویا تعریف کردیم. داخل <> نوع آرایه رو تعریف می کنیم که باید کلاس باشه. حالا آرایه از نوع عددی و اضافه کردن مقدار : ArrayList<Integer> numbers = new ArrayList<Integer>(); for (int i = 0; i < 100; i++) { numbers.add(i * 2); } حالا به چه شکل میتونیم اطلاعات رو بگیریم از این آرایه ها ؟ به این شکل : for (int j = 0; j < numbers.size(); j++) { Log.i("LOG", "Dynamic Array Index #" + j + "=" + numbers.get(j)); } که مستفیما میاییم Get می کنیم. روش دیگه که برای گرفتن مقدار هستش و نیازی به اندیس نداریم : //For Each for (int num: numbers) { int index = numbers.indexOf(num); Log.i("LOG", "Dynamic Array Index #" + index + " = " + num); } هر دفعه مقدار اندیس توی متغییر num ریخته میشه و مقدار متناظرش کرفته میشه. در این باره مشکلی بود بپرسید. آموزشی از AnswerCenter موفق باشید. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.