می 29, 2019 Mostafa بدون دیدگاه

اگر دنبال برنامه نویس برای ساخت افزونه ،قالب،سایت،برنامه ویندوز،اپلیکیشین اندروید،ربات تلگرام و.... هستید ،سفارش برنامه نویسی را مطالعه نمایید.

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

به طور کلی آرایه یک مجموعه از المان های هم نوع است که در حافظه بیت های مجاور و به هم پیوسته را اشغال کرده اند. به عبارت دیگر، آرایه را می توان یک توالی شماره گذاری شده از متغیرها و مقادیر هم نوع، هم اندازه و هم نام تعریف کرد.

آرایه در جاوا یک آبجکت است که المان هایی با نوع مشابه را دربرمی گیرد. به عبارت دقیق تر، آرایه یک ساختار داده ای است که در آن المان های مشابه و هم نوع را ذخیره می کنیم. لازم به ذکر است در آرایه ی جاوا تنها می توان مجموعه ثابتی از المان های هم نوع را نگهداری کرد بدین معنی که تعداد المان ها یا طول آرایه همان اول مشخص شده و در زمان اجرای برنامه دیگر قابل تغییر نخواهد بود.

همان طور که در بالا گفته شد، آرایه در جاوا یک دنباله از المان های شماره دار است. در واقع هر المان از آرایه یک اندیس متناظر دارد که از صفر آغاز می شود. بنابراین اولین المان آرایه در اندیس 0 ذخیره می شود.


مزایای استفاده از آرایه

بهینه سازی کد: به وسیله ی آرایه می توان المان ها را به راحتی مرتب سازی، سازمان دهی و در صورت نیاز بازیابی کرد.
دسترسی به المان دلخواه در حافظه بر اساس اندیس (random access): به واسطه ی آرایه می توان به راحتی به داده ی مورد نظر که دارای شماره ی (مکان قرار گیری) خاصی در حافظه است دسترسی پیدا کرده و آن را واکشی نمود.

معایب استفاده از آرایه

طول ثابت: می توان در آرایه تعداد ثابتی از المان ها را ذخیره کرد. به عبارت دیگر طول آن در زمان اجرای برنامه قابل تغییر نمی باشد. برای رفع این کاستی در جاوا از فریم ورک collection بهره گرفته می شود.

انواع آرایه در جاوا

در کل دو نوع آرایه وجود دارد :

آرایه تک بعدی
آرایه چند بعدی

آرایه ی تک بعدی در جاوا

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

dataType[] arr; (or)  
dataType []arr; (or)  
dataType arr[];

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

arrayRefVar=new datatype[size];

مثالی کاربردی از آرایه ی تک بعدی در جاوا

در زیر طی یک مثال کاربردی ساده، نحوه ی تعریف، نموه سازی، مقداردهی و پیمایش در آرایه را به شما آموزش می دهیم :

class Testarray{  
public static void main(String args[]){  
int a[]=new int[5];//declaration and instantiation  
a[0]=10;//initialization  
a[1]=20;  
a[2]=70;  
a[3]=40;  
a[4]=50;  
//printing array  
for(int i=0;i< a.length;i++)//length is the property of array  
System.out.println(a[i]);  
}}

خروجی :

10
20
70
40
50

تعریف، نمونه سازی و مقداردهی آرایه به صورت یکجا

می توان با استفاده از گرامر زیر به راحتی یک آرایه را همزمان تعریف، نمونه سازی و مقداردهی کرد :

int a[]={33,3,4,5};//ایجاد و مقداردهی اولیه

در مثال زیر مقادیر المان های این آرایه را پس از پیمایش در آن ها، در خروجی چاپ می کنیم :

class Testarray1{  
public static void main(String args[]){  
int a[]={33,3,4,5};
//printing array  
for(int i=0;i< a.length;i++)
System.out.println(a[i]);  
}}

خروجی :

33
3
4
5

ارسال آرایه به عنوان آرگومان به متد در جاوا

می توان یک آرایه را به عنوان آرگومان به متد مورد نظر ارسال کرد. از این طریق توسعه دهنده قادر است منطق و عملیات یکسان را بر روی آرایه ی دلخواه (هر آرایه ای) اجرا کند.

 

در زیر مثال ساده ای را مشاهده می کنید که در آن مقدار کوچکترین المان در آرایه واکشی شده و در خروجی چاپ می شود.

class Testarray2{  
static void min(int arr[]){  
int min=arr[0];  
for(int i=1;i< arr.length;i++) if(min>arr[i])  
  min=arr[i];  
System.out.println(min);  
}  
public static void main(String args[]){    
int a[]={33,3,4,5};  
min(a); 
}}  

خروجی :

3

آرایه چند بعدی در جاوا

به طور کلی، یک آرایه ی دو بعدی مانند ماتریس دو بعدی می باشد که داده ها در آن در قالب سطر و ستون های شماره دار (مبتنی بر اندیس) ذخیره می شوند. در آرایه ی دو بعدی هر عنصر آرایه دو اندیس جداگانه می گیرد: یکی برای ستون و دیگری برای شماره ی سطر.

نحوه تعریف آرایه  دو بعدی در جاوا :

dataType[][] arrayRefVar; (or)  
dataType [][]arrayRefVar; (or)  
dataType arrayRefVar[][]; (or)  
dataType []arrayRefVar[];

مثال از نمونه سازی آرایه دو بعدی در جاوا

int[][] arr=new int[3][3];//3 ردیف و ستون

مثال از مقداردهی اولیه آرایه دو بعدی در جاوا

arr[0][0]=1;  
arr[0][1]=2;  
arr[0][2]=3;  
arr[1][0]=4;  
arr[1][1]=5;  
arr[1][2]=6;  
arr[2][0]=7;  
arr[2][1]=8;  
arr[2][2]=9;

 

مثال از آرایه چندبعدی در جاوا

در زیر نمونه ی ساده از نحوه ی تعریف، نمونه سازی، مقداردهی و چاپ المان های آرایه ی دو بعدی را مشاهده می کنید :

class Testarray3{  
public static void main(String args[]){  
//declaring and initializing 2D array  
int arr[][]={{1,2,3},{2,4,5},{4,4,5}};  
//printing 2D array  
for(int i=0;i< 3;i++){ for(int j=0;j< 3;j++){
   System.out.print(arr[i][j]+" ");
 }
 System.out.println();
}
}}

خروجی :
1 2 3
2 4 5
4 4 5

 

 

اسم کلاس آرایه جاوا چیست؟

در Java آرایه یک آبجکت است. برای ساخت آبجکت آرایه در جاوا، یک کلاس پیشکار (proxy class) تعریف شده که اسم آن به راحتی با فراخوانی متد ()getClass.()getName بر روی آبجکت قابل بازیابی می باشد.

 

class Testarray4{  
public static void main(String args[]){  
int arr[]={4,4,5};  
Class c=arr.getClass();  
String name=c.getName();  
System.out.println(name);  
}}  


خروجی :

I

کپی کردن یک آرایه ی جاوایی

می توان محتوای یک آرایه را به وسیله ی متد arraycopy از کلاس System، کپی کرده و آن را در آرایه دیگر جایگذاری کرد.

دستور استفاده از متد arraycopy به صورت زیر می باشد :

public static void arraycopy(  
Object src, int srcPos,Object dest, int destPos, int length  
)

 

مثال از متد arraycopy :

class TestArrayCopyDemo {  
    public static void main(String[] args) {  
        char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e',  
                'i', 'n', 'a', 't', 'e', 'd' };  
        char[] copyTo = new char[7];  
        System.arraycopy(copyFrom, 2, copyTo, 0, 7);  
        System.out.println(new String(copyTo));  
    }  
}  

خروجی :

caffein

 

انجام عملیات جمع بر روی دو ماتریکس در جاوا

class Testarray5{  
public static void main(String args[]){  

int a[][]={{1,3,4},{3,4,5}};  
int b[][]={{1,3,4},{3,4,5}};  

int c[][]=new int[2][3];  

for(int i=0;i < 2;i++){ for(int j=0;j< 3;j++){
c[i][j]=a[i][j]+b[i][j];
System.out.print(c[i][j]+" ");
}
System.out.println();//خط جدید
}
}}

خروجی :
2 6 8
6 8 10

 


برچسب ها