articles
سطح

Java arrays

گروپ میں شائع ہوا۔

صفیں

ایک صف ایک ڈیٹا ڈھانچہ ہے جو ایک ہی قسم کی اقدار کو ذخیرہ کرتا ہے۔ انٹیجر انڈیکس کا استعمال کرتے ہوئے انفرادی صف کے عنصر تک رسائی حاصل کی جاتی ہے۔ مثال کے طور پر، اگر a انٹیجرز کی ایک صف ہے، تو اظہار a[i] کی قدر صف میں i-th انٹیجر کے برابر ہے۔ Java arrays - 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 کا طریقہ استعمال کریں .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اتنی بڑی ہونی چاہیے کہ کاپی کیے جانے والے تمام عناصر پر مشتمل ہو۔ 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