درخواست های ارتباط
جستجو تنظیمات
لیست دوستان من

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

0 نظرات

با سلام به همه دوستان و همراهان 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 در داخل آن ریخته شده است.

Image


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


برای پیمایش آرایه و پردازش هرکدام از خانه های آرایه از حلقه های 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 و کار کردن با متدهای این کلاس رایگان
هیچ نظری ارسال نشده است

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

arrow