articles
سطح

Java arrays

گروپ ۾ شايع ٿيل

صفا

هڪ صف هڪ ڊيٽا جي جوڙجڪ آهي جيڪا ساڳئي قسم جي قيمتن کي محفوظ ڪري ٿي. هڪ انفرادي صف جو عنصر انٽيجر انڊيڪس استعمال ڪندي پهچايو ويندو آهي. مثال طور، جيڪڏهن a انٽيجرز جو هڪ صف آهي، ته پوءِ ايڪسپريشن جي قيمت a[i] جي صف ۾ i-th integer جي برابر آهي. جاوا صفون - 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 کان ٻاهر آهي) تائين رسائي حاصل ڪرڻ جي ڪوشش ڪئي، پروگرام ختم ٿي ويندو ڇو ته هڪ صف انڊيڪس رينج کان ٻاهر نڪرندو استثنا. هڪ صف ۾ عناصر جو تعداد ڳڻڻ لاءِ، استعمال ڪريو Array name method .length. مثال طور،
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
هڪ دفعو هڪ صف ٺاهي وئي آهي، ان جي سائيز کي تبديل ڪرڻ ناممڪن آهي (جيتوڻيڪ توهان، يقينا، ان جي انفرادي عناصر کي تبديل ڪري سگهو ٿا). جيڪڏهن توهان کي پروگرام جي عمل جي دوران اڪثر هڪ صف جي سائيز کي تبديل ڪرڻ جي ضرورت آهي، اهو بهتر آهي ته هڪ ٻيو ڊيٽا ڍانچي کي استعمال ڪرڻ لاء هڪ سر فهرست سڏيو ويندو آهي. هڪ صف کي ٻن طريقن سان بيان ڪري سگهجي ٿو:
int[] a;
or
int a[];
گهڻو ڪري جاوا پروگرامر پهرين انداز کي ترجيح ڏيندا آهن ڇاڪاڻ ته اهو وڌيڪ واضح طور تي صف جي قسم int [](integer array) کي متغير نالي کان الڳ ڪري ٿو.

صف جي شروعات ڪندڙ ۽ نامعلوم صفون

جاوا وٽ هڪ ئي وقت هڪ صف ٺاهڻ ۽ ان کي شروع ڪرڻ جي سهولت آهي. هتي اهڙي نحوي جوڙجڪ جو هڪ مثال آهي:
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ايتري وڏي هجڻ گهرجي ته سڀني عناصرن تي مشتمل هجي جنهن کي نقل ڪيو وڃي. Java arrays - 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
Java arrays - 3
چانور. 3.2. ڪاپي آري عناصر
جاوا ۾ هڪ صف خاص طور تي C++ ۾ هڪ صف کان مختلف آهي. بهرحال، اهو عملي طور تي ساڳيو آهي هڪ متحرڪ صف ڏانهن اشارو ڪندڙ. هن جو مطلب آهي آپريٽر
int[] a = new int[100]; //Java
آپريٽر جي برابر آهي
int* = new int[100]; //C++,
а не
int a[100]; //C++
جاوا ۾، []ڊفالٽ آپريٽر انڊيڪس تبديلين جي حد کي چيڪ ڪري ٿو. اضافي طور تي، جاوا وٽ پوائنٽر رياضي نه آهي- توهان هڪ صف جي ايندڙ عنصر تائين رسائي حاصل ڪرڻ لاء پوائنٽر کي وڌائي نه ٿا سگهو. ذريعو سان لنڪ: Java arrays
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION