مشخصات مقاله
-
5065
-
0.0
-
18778
-
0
-
0
آموزش Java – آرایه در Java
آموزش Java– آرایه در Java
به طور کلی آرایه یک مجموعه از المان های هم نوع است که در حافظه بیت های مجاور و به هم پیوسته را اشغال کرده اند. به عبارت دیگر، آرایه را می توان یک توالی شماره گذاری شده از متغیرها و مقادیر هم نوع، هم اندازه و هم نام تعریف کرد.
آرایه در جاوا یک آبجکت است که المان هایی با نوع مشابه را دربرمی گیرد. به عبارت دقیق تر، آرایه یک ساختار داده ای است که در آن المان های مشابه و هم نوع را ذخیره می کنیم. لازم به ذکر است در آرایه ی جاوا تنها می توان مجموعه ثابتی از المان های هم نوع را نگهداری کرد بدین معنی که تعداد المان ها یا طول آرایه همان اول مشخص شده و در زمان اجرای برنامه دیگر قابل تغییر نخواهد بود.
همان طور که در بالا گفته شد، آرایه در جاوا یک دنباله از المان های شماره دار است. در واقع هر المان از آرایه یک اندیس متناظر دارد که از صفر آغاز می شود. بنابراین اولین المان آرایه در اندیس 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};//declaration, instantiation and initialization
در مثال زیر مقادیر المان های این آرایه را پس از پیمایش در آن ها، در خروجی چاپ می کنیم:
class Testarray1{
public static void main(String args[]){
int a[]={33,3,4,5};//declaration, instantiation and initialization
//printing array
for(int i=0;i< a.length;i++)//length is the property of array
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);//passing array to method
}}
خروجی:
3
آرایه ی چند بعدی در جاوا
به طور کلی، یک آرایه ی دو بعدی مانند ماتریس دو بعدی می باشد که داده ها در آن در قالب سطر و ستون های شماره دار (مبتنی بر اندیس) ذخیره می شوند. در آرایه ی دو بعدی هر عنصر آرایه دو اندیس جداگانه می گیرد: یکی برای ستون و دیگری برای شماره ی سطر.
دستور تعریف آرایه ی دو بعدی در جاوا:
dataType[][] arrayRefVar; (or) dataType [][]arrayRefVar; (or) dataType arrayRefVar[][]; (or) dataType []arrayRefVar[];
مثال کاربردی از نمونه سازی آرایه ی دو بعدی در جاوا
int[][] arr=new int[3][3];//3 row and 3 column
مثال کاربردی از مقداردهی اولیه ی آرایه ی دو بعدی در جاوا
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[]){
//creating two matrices
int a[][]={{1,3,4},{3,4,5}};
int b[][]={{1,3,4},{3,4,5}};
//creating another matrix to store the sum of two matrices
int c[][]=new int[2][3];
//adding and printing addition of 2 matrices
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();//new line
}
}}
خروجی:
2 6 8 6 8 10