JavaRush /وبلاگ جاوا /Random-FA /آرایه های جاوا
articles
مرحله

آرایه های جاوا

در گروه منتشر شد

آرایه ها

آرایه یک ساختار داده ای است که مقادیری از یک نوع را ذخیره می کند. یک عنصر آرایه جداگانه با استفاده از یک شاخص عدد صحیح قابل دسترسی است. به عنوان مثال، اگر a آرایه ای از اعداد صحیح باشد، مقدار عبارت a[i] برابر با i-امین عدد صحیح در آرایه است. آرایه های جاوا - 1یک آرایه به صورت زیر اعلام می شود: ابتدا نوع آرایه، یعنی نوع عناصر موجود در آرایه، به دنبال آن یک جفت کروشه خالی و سپس نام متغیر مشخص می شود. به عنوان مثال، در اینجا نحوه اعلام یک آرایه متشکل از اعداد صحیح آمده است:
int[] a;
با این حال، این عبارت فقط یک متغیر را аبدون مقداردهی اولیه آن با یک آرایه واقعی اعلام می کند. برای ایجاد یک آرایه، باید از عملگر استفاده کنید new.
int[] a = new int [100];
این عملگر آرایه ای از 100 عدد صحیح ایجاد می کند. عناصر این آرایه از 0 تا 99 شماره گذاری شده اند (نه از 1 تا 100). پس از ایجاد، آرایه را می توان به عنوان مثال با استفاده از یک حلقه پر کرد.
int[] а = new int[100];
for (int i = 0; i < 100; i++)
 a[i] = i; //Заполняет массив числами от 0 до 99
اگر بخواهید а [100]با ایجاد یک آرایه از 100 عنصر به یک عنصر (یا هر عنصر دیگری که نمایه آن خارج از محدوده 0 تا 99 است) دسترسی پیدا کنید، برنامه خاتمه می یابد زیرا یک فهرست آرایه خارج از محدوده استثنا رخ می دهد. برای شمارش تعداد عناصر یک آرایه، از روش نام آرایه استفاده کنید .length. مثلا،
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
هنگامی که یک آرایه ایجاد می شود، تغییر اندازه آن غیرممکن است (البته می توانید عناصر جداگانه آن را تغییر دهید). اگر در طول اجرای برنامه نیاز به تغییر اندازه یک آرایه دارید، بهتر است از ساختار داده دیگری به نام فهرست آرایه استفاده کنید. یک آرایه را می توان به دو صورت اعلام کرد:
int[] a;
or
int a[];
اکثر برنامه نویسان جاوا سبک اول را ترجیح می دهند زیرا به وضوح نوع آرایه int [](آرایه عدد صحیح) را از نام متغیر جدا می کند.

مقداردهی اولیه آرایه و آرایه های بی نام

جاوا دارای امکاناتی برای ایجاد همزمان آرایه و مقداردهی اولیه آن است. در اینجا نمونه ای از چنین ساختار نحوی آورده شده است:
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
توجه داشته باشید که در این حالت نیازی به استفاده از اپراتور نیست new. علاوه بر این، حتی می توانید یک آرایه بدون نام را مقداردهی اولیه کنید:
new int[] {16, 19, 23, 29, 31, 37}
این عبارت حافظه را برای یک آرایه جدید اختصاص می دهد و آن را با اعداد مشخص شده در پرانتزهای فرفری پر می کند. در این حالت تعداد آنها محاسبه شده و بر این اساس اندازه آرایه مشخص می شود. استفاده از این ساختار نحوی برای شروع مجدد آرایه بدون ایجاد متغیر جدید راحت است. مثلاً عبارت
smallPrimes = new int{17, 19, 23, 29, 31, 37};
یک عبارت کوتاه شده است
int[] anonymous = {17, 19, 23, 29, 31, 37};
smallPrimes = anonymous;
شما می توانید یک آرایه با اندازه صفر ایجاد کنید. چنین آرایه‌ای می‌تواند هنگام نوشتن روشی مفید باشد که آرایه‌ای را که خالی است، ارزیابی می‌کند. یک آرایه با طول صفر به صورت زیر اعلام می شود:
new тип Элементов[]
توجه داشته باشید که چنین آرایه ای معادل یک شی نیست null.

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

یک آرایه را می توان در آرایه دیگر کپی کرد، اما هر دو متغیر به یک آرایه اشاره می کنند.
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12; //Теперь элемент smallPrimes[5]также equals 12
نتیجه در شکل نشان داده شده است. 3.1. اگر نیاز دارید که تمام عناصر یک آرایه را در آرایه دیگر کپی کنید، باید از روش arraycopy از کلاس استفاده کنید System. تماس آن به این صورت است:
System.arraycopy(from, fromlndex, to, tolndex, count);
آرایه toباید به اندازه ای بزرگ باشد که شامل تمام عناصری باشد که باید کپی شوند. آرایه های جاوا - 2
شکل 3.1. کپی کردن یک آرایه
به عنوان مثال، عملگرهای نشان داده شده در زیر، که نتایج آن در شکل نشان داده شده است. 3.2، دو آرایه ایجاد کنید و سپس چهار عنصر آخر آرایه اول را در آرایه دوم کپی کنید. کپی کردن از موقعیت دوم در آرایه منبع شروع می شود و عناصر کپی شده در آرایه هدف قرار می گیرند که از موقعیت سوم شروع می شود.
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
int[] luckyNumbers = {1001, 1002, 1003, 1004, 1005, 1006, 1007};
System.аrrаусору(smallPrimes, 2, luckyNumbers, 3, 4);
for (int i = 0; i < luckyNumbers.length; i++)
System.out.println(i + ": " + luckyNumbers[i]);
اجرای این دستورات نتیجه زیر را ایجاد می کند.
0: 1001
1: 1002
2: 1003
3: 5
4: 7
5: 11
6: 13
آرایه های جاوا - 3
برنج. 3.2. کپی کردن عناصر آرایه
یک آرایه در جاوا تفاوت قابل توجهی با آرایه در C++ دارد. با این حال، عملاً مانند یک اشاره گر به یک آرایه پویا است. این بدان معنی است که اپراتور
int[] a = new int[100]; //Java
معادل اپراتور است
int* = new int[100]; //C++,
а не
int a[100]; //C++
در جاوا، []اپراتور پیش فرض محدوده تغییرات شاخص را بررسی می کند. علاوه بر این، جاوا حسابی اشاره گر ندارد—شما نمی توانید یک اشاره گر را برای دسترسی به عنصر بعدی آرایه افزایش دهید. پیوند به منبع: آرایه های جاوا
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION