درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
مهدی عادلی فر
امتیاز: 157218
رتبه:6
154
197
296
1572
مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم. پروفایل کاربر

آموزش برنامه نویسی جاوا قسمت بیستم: معرفی و آموزش نحوه استفاده از آرایه ها

تاریخ 37 ماه قبل
نظرات 0
بازدیدها 3669
با سلام به همه دوستان و همراهان Itpro. در برنامه نویسی بسیاری از مواقع پیش می آید که یک مجموعه ای از داده ها وجود دارد که همه از یک نوع یا یک کلاس می باشند. اگر بخواهیم هرکدام از این داده ها را در یک متغیر ذخیره کنیم ممکن است که چندصد متغیر داشته باشیم که همه از یک نوع می باشند. در این حالت با انبوهی از متغیرها مواجه هستیم که به علت زیاد بودن کار با آنها بسیار مشکل خواهد بود. برای حل این مشکل در زبان های برنامه نویسی یک ساختار داده به نام آرایه وجود دارد. آرایه یک مجموعه ای از داده های هم نوع می باشد که داده ها را در حافظه پشت سرهم ذخیره می کند. آرایه یک نام دارد و هرکدام از داده ها را در یک خانه ذخیره می کند که این خانه با یک اندیس مشخص می شود. اندازه آرایه در جاوا ثابت است. برای مثال برای ذخیره 100 عدد باید 100 عدد متغیر تعریف کرد مانند num1, num2, …..,num100 در حالی که وقتی از آرایه استفاده می کنیم می توانیم یک آرایه 100 تایی معرفی کنیم و برای دسترسی به هرکدام از اندیس آن استفاده کنیم مثل num[0], num[1], num[2],….,num[99]. دقت داشته باشید که اولین خانه آرایه از0 شروع می شود و برای یک آرایه 100 تایی خانه آخر خانه 99 است یعنی یکی کمتر.

معرفی آرایه


برای استفاده از یک آرایه باید آن را ابتدا معرفی کرد. در هنگام معرفی آرایه نوع آرایه و اندازه آن مشخص می شود. در شکل زیر نحوه معرفی آرایه نشان داده شده است:
dataType[] arrayRefVar;   // روش توصیه شده

or

dataType arrayRefVar[];  //  کار می کند ولی توصیه نمی شود
در روش های گفته شده در بالا روش توصیه شده روش خود جاوا است و روشی که توصیه نمی شود روشی است که در زبان های مانند c , c++ مورد استفاده قرار می گیرد و از آنجا که سینتکس جاوا برپایه سینتکس c++ ساخته شده است این روش نوشتاری نیز در جاوا آورده شده است که برای کاربران c++ نیز قابل استفاده باشد.هنگام تعریف باید در قسمت datatype نوع داده یا کلاسی که می خواهیم از آن آرایه بسازیم رای می آوریم و همچنین به جای arrayRefVar نیز باید نام آرایه را قرار داد. مانند کد زیر:
double[] myArray;         // روش توصیه شده

or

double myArray[];         // کار می کند ولی توصیه نمی شود

ساخت آرایه


با استفاده از کلمه کلیدی new می توان یک آرایه جدید ساخت. شکل کلی ساخت آرایه مانند زیر است:
arrayRefVar = new dataType[arraySize];
می توان معرفی کردن و ساختن یک آرایه جدید رادر یک خط باهم انجام داد که کد آن به شکل زیر خواهد بود:
dataType[] arrayRefVar = new dataType[arraySize];
روش دیگری که برای معرفی و ساخت آرایه مورد استفاده قرار می گیرد به این شکل است که مقادیری را که قرار است داخل آرایه ذخیره گردد در همان زمان ساخت آرایه درون آن قرار دهیم که این روش در کد زیر آورده شده است.
dataType[] arrayRefVar = {value0, value1, ..., valuek};
عناصر آرایه همانطور که گفته شد با استفاده از اندیس قابل دسترس هستند که اندیس از 0 شروع می شود.
در کد زیر یک آرایه double به نام myList ساخته شده است که 10 خانه دارد.
double[] myList = new double[10];
شکل زیر ساختار آرایه myList را نشان می دهد که مقادیر double در داخل آن ریخته شده است.
آموزش برنامه نویسی جاوا قسمت بیستم: معرفی و آموزش نحوه استفاده از آرایه ها



پردازش آرایه ها


برای پیمایش آرایه و پردازش هرکدام از خانه های آرایه از حلقه های for و foreach استفاده می شود. زیرا که اندازه آرایه از قبل مشخص است و اندازه آرایه را می دانیم. در کد زیر مثالی برای ساخت و استفاده و پردازش آرایه آورده شده است به آن توجه نمایید:
public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
      // Summing all elements
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      // Finding the largest element
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);
   }
}
خروجی کد بالا به شکل زیر خواهد بود:
1.9
2.9
3.4
3.5
Total is 11.7
ax is 3.5

حلقه foreach


در زمان jdk 1.5 حلقه foreach معرفی شد تا بتواند حلقه for را بهبود دهد. در این نوع از حلقه می توان کل آرایه را بدون این که اندیس ها را دانست پیمایش کرد. برای مثال به کد زیر توجه نمایید:
public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (double element: myList) {
         System.out.println(element);
      }
   }
}
خروجی کد بالا به شکل زیر خواهد بود:
1.9
2.9
3.4
3.5

ارسال آرایه به متدها


همانگونه که می توان انواع اولیه داده را به عنوان آرگومان ورودی به متد ها فرستاد می توان آرایه را نیز به عنوان آرگومان به متدها ارسال نمود. برای مثال متد زیر عناصر موجود در آرایه را در خروجی چاپ می نماید.
public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) {
    System.out.print(array[i] + " ");
  }
}
با استفاده از تابع بالا شما می توانید عناصر هر آرایه ای را که از نوع int ساخته شده است را به متد ارسال کرده و متد عناصر آن را چاپ می کند.

بازگرداندن آرایه به عنوان مقدار بازگشتی متد


یک متد ممکن است که یک آرایه را به عنوان خروجی بازگرداند. برای مثال متدی که در کد زیر آورده شده است یک آرایه را که برعکس شده آرایه ورودی است را بازمی گرداند.
public static int[] reverse(int[] list) {
  int[] result = new int[list.length];

  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

کلاس Array


این کلاس در پکیج java.util قرار دارد که شامل متدهای برای مرتب سازی آرایه و یا جستجو و مقایسه آرایه ها و پر کردن خانه های آرایه می باشد. این متدها برای انواع داده های اصلی می تواند قابل اعمال باشد. در ادامه به چند عدد از مهمترین این متدها پرداخته ایم
متد binarySearch یک ارایه می گیرد و یک مقدار و مقدار مورد نظر را به روش جستجوی دودویی در داخل آرایه جستجو می کند و اگر پیدا شود محل قرارگیری آرایه را برمی گرداند. برای این متد آرایه باید از قبل مرتب شده باشد. شکل نوشتاری این ارایه به شکل زیر است
public static int binarySearch(Object[] a, Object key)
متد equals این متد دو آرایه را با یکدیگر مقایسه می کند. دو آرایه زمانی با هم مساوی هستند که تعداد خانه های آنها با هم برابر بوده و همچنین هر جفت خانه آرایه ها با هم برابر باشند. اگر دو آرایه با هم برابر باشد این متد مقدار true را برمی گرداند. شکل نوشتاری این متد مانند کد زیر است:
public static boolean equals(long[] a, long[] a2)  
متد fill این متد یک مقدار و یک آرایه می گیرد و همه ی خانه های آرایه را با آن مقدار پر می کند. این متد به شکل زیر نوشته می شود:
public static void fill(int[] a, int val)
متد sort این متد یک آرایه را دریافت می کند و عناصر داخل آن را مرتب می کند. دقت داشته باشید که این متد و متد fill هیچ خروجی ندارند و همه تغییرات پرکردن و مرتب کردن بر روی آرایه ورودی انجام می شود و بر روی آن نیز اعمال می گردد. شکل نوشتاری این متد به شکل زیر است:
public static void sort(Object[] a)
همه ی اعمال گفته شده در کلاس Array بر روی همه ی انواع اولیه قابل اعمال می باشد.Itpro باشید



نویسنده: مهدی عادلی فر
منبع: انجمن تخصصی فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
برچسب ها
ردیف عنوان
1 آموزش برنامه نویسی جاوا قسمت اول : معرفی ویژگیها ، خصوصیات و نحوه شروع به کار با زبان برنامه نویسی جاوا
2 آموزش برنامه نویسی جاوا قسمت دوم : بررسی مفاهیم شیء ، کلاس ، Method و شروع برنامه نویسی با زبان جاوا
3 آموزش برنامه نویسی جاوا قسمت سوم: معرفی مفاهیم اولیه و مفاهیم شی گرایی در برنامه نویسی جاوا
4 آموزش برنامه نویسی جاوا قسمت چهارم: معرفی مفاهیم شی گرایی در برنامه نویسی جاوا - ادامه
5 آموزش برنامه نویسی جاوا قسمت پنجم: معرفی انواع داده ها در جاوا
6 آموزش برنامه نویسی جاوا قسمت ششم: آموزش انواع متغیر در جاوا
7 آموزش برنامه نویسی جاوا قسمت هفتم: معرفی Modifierها در جاوا
8 آموزش برنامه نویسی جاوا قسمت هشتم: معرفی و آموزش عملگرهای جاوا
9 آموزش برنامه نویسی جاوا قسمت نهم: معرفی و آموزش کار با عملگرها در جاوا - ادامه
10 آموزش برنامه نویسی جاوا قسمت دهم: کار با حلقه های تکرار در جاوا
11 آموزش برنامه نویسی جاوا قسمت یازدهم: معرفی و آموزش استفاده از عبارات شرطی در جاوا
12 آموزش برنامه نویسی جاوا قسمت دوازدهم: معرفی انواع کلاس wrapper مربوط به اعداد در جاوا و نحوه استفاده از آنها
13 آموزش برنامه نویسی جاوا قسمت سیزدهم: معرفی انواع کلاس wrapper مربوط به اعداد در جاوا و نحوه استفاده از آنها -ادمه
14 آموزش برنامه نویسی جاوا قسمت چهاردهم: معرفی و نحوه استفاده از کلاس Wrapper مربوط به کاراکتر ها در جاوا
15 آموزش برنامه نویسی جاوا قسمت پانزدهم: معرفی و آموزش نحوه استفاده از کلاس String و کار با رشته ها در جاوا
16 آموزش برنامه نویسی جاوا قسمت شانزدهم: معرفی و آموزش نحوه استفاده از کلاس String در جاوا و کار با رشته ها در جاوا ادامه
17 آموزش برنامه نویسی جاوا قسمت هفدهم: معرفی و آموزش نحوه استفاده از کلاس String در جاوا و کار با رشته ها در جاوا-ادامه 2
18 آموزش برنامه نویسی جاوا قسمت هجدهم: معرفی و آموزش نحوه استفاده از کلاس String در جاوا و کار با رشته ها در جاوا-ادامه 3
19 آموزش برنامه نویسی جاوا قسمت نوزدهم: معرفی و آموزش نحوه استفاده از کلاس های StringBuilder و StringBuffer
20 آموزش برنامه نویسی جاوا قسمت بیستم: معرفی و آموزش نحوه استفاده از آرایه ها
21 آموزش برنامه نویسی جاوا قسمت بیست و یکم: آموزش کار با تاریخ
22 آموزش برنامه نویسی جاوا قسمت بیست و دوم: معرفی و آموزش عبارات منظم(Regular expression)
23 آموزش برنامه نویسی جاوا قسمت بیست و سوم: نحوه تعریف و استفاده از متدها
24 آموزش برنامه نویسی جاوا قسمت بیست و چهارم: نحوه تعریف و استفاده از متدها- ادامه
25 آموزش برنامه نویسی جاوا قسمت بیست و پنجم: نحوه کار با استریم ها و فایل ها
26 آموزش برنامه نویسی جاوا قسمت بیست و ششم: نحوه کار با دایرکتوری ها
27 آموزش برنامه نویسی جاوا قسمت بیست و هفتم: معرفی و آموزش کلاس ByteArrayInputStream و کار با استریم ها
28 آموزش برنامه نویسی جاوا قسمت بیست و هشتم: معرفی کلاس File و شرح متدهای آن
29 آموزش برنامه نویسی جاوا قسمت بیست و نهم: معرفی و شرح Exception ها
30 آموزش برنامه نویسی جاوا قسمت سی ام: معرفی و شرح Exception ها- ادامه
31 آموزش برنامه نویسی جاوا قسمت سی و یکم: معرفی و شرح Exception ها- ادامه 2
32 آموزش برنامه نویسی جاوا قسمت سی و دوم: معرفی و شرح استفاده از انوع کلاس های داخلی
33 آموزش برنامه نویسی جاوا قسمت سی و سوم: شرح وراثت کلاس ها و انواع آن
34 آموزش برنامه نویسی جاوا قسمت سی و چهارم: معرفی و شرح override کردن متد ها
35 آموزش برنامه نویسی جاوا قسمت سی و پنجم: معرفی و شرح چند ریختی (polymorphism)
36 آموزش برنامه نویسی جاوا قسمت سی و ششم: شرح enum و ویژگی های آن
37 آموزش برنامه نویسی جاوا قسمت سی و هفتم: معرفی و شرح abstract
38 آموزش برنامه نویسی جاوا قسمت سی و هشتم: معرفی و آموزش نحوه استفاده از کپسول بندی (encapsulation)
39 آموزش برنامه نویسی جاوا قسمت سی و نهم: معرفی و آموزش نحوه استفاده از اینترفیس ها
40 آموزش برنامه نویسی جاوا قسمت چهلم: معرفی مفهوم پکیج(package) و نحوه استفاده از آن
41 آموزش برنامه نویسی جاوا قسمت چهل و یکم: معرفی داده ساختارها - Enumeration
42 آموزش برنامه نویسی جاوا قسمت چهل و دوم: داده ساختار BitSet
43 آموزش برنامه نویسی جاوا قسمت چهل و سوم: داده ساختار Vector
44 آموزش برنامه نویسی جاوا قسمت چهل و چهارم: داده ساختار Stack(پشته)
45 آموزش برنامه نویسی جاوا قسمت چهل و پنجم: داده ساختار dictionary
46 آموزش برنامه نویسی جاوا قسمت چهل و ششم: داده ساختار Hashtable
47 آموزش برنامه نویسی جاوا قسمت چهل و هفتم: داده ساختار properites
48 آموزش برنامه نویسی جاوا قسمت چهل و هشتم: معرفی و آموزش مفهوم جنریک
49 آموزش برنامه نویسی جاوا قسمت چهل و نهم: معرفی و آموزش برنامه نویسی سوکت و شبکه سمت سرور
50 آموزش برنامه نویسی جاوا قسمت پنجاهم: معرفی و آموزش برنامه نویسی سوکت و شبکه- سمت کلاینت و ارتباط با یکدیگر
51 آموزش برنامه نویسی جاوا قسمت پنجاه و یکم: معرفی و آموزش استفاده از lambda expression
52 آموزش برنامه نویسی جاوا قسمت پنجاه و دوم:‌ معرفی مفاهیم Thread ها و Multi-Threading
53 آموزش برنامه نویسی جاوا قسمت پنجاه و سوم: معرفی و آموزشRunnable در Thread ها و Multi-Threading
54 آموزش برنامه نویسی جاوا قسمت پنجاه و چهارم: کلاس Thread و کار کردن با متدهای این کلاس
دوره مجموعه کل دوره
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید