JavaRush /جاوا بلاگ /Random-SD /جاوا ۾ صفون

جاوا ۾ صفون

گروپ ۾ شايع ٿيل
تصور ڪريو سيلز کي اسٽوريج روم ۾. هر هڪ جو پنهنجو نمبر آهي، ۽ هر هڪ ۾ ڪجهه قسم جي "سامان" اعتراض آهي. يا شراب جي فهرست، جنهن ۾ سڀني قسمن جي شراب جو تعداد ڏنل آهي ۽ جڏهن توهان آرڊر ڏيو ٿا، توهان کي صرف پيئڻ جو نمبر ڏيڻو پوندو. يا هڪ گروپ ۾ شاگردن جي هڪ فهرست، جنهن ۾ شاگرد "Andreev" پهرين سيل ۾ لکيو ويندو، ۽ "Yakovlev" آخري سيل ۾. يا هوائي جهاز جي مسافرن جي هڪ فهرست، جن مان هر هڪ مخصوص نمبر سان سيٽ رکيل آهي. جاوا ۾، ساڳئي جوڙجڪ سان ڪم ڪرڻ لاء، اهو آهي، تمام گهڻو هڪجهڙائي واري ڊيٽا، جاوا ۾ صفون اڪثر استعمال ٿيندا آهن.

هڪ صف ڇا آهي؟

هڪ صف هڪ ڊيٽا جي جوڙجڪ آهي جيڪا ساڳئي قسم جي عناصر کي ذخيرو ڪري ٿي. اهو سوچي سگهجي ٿو انگن اکرن جي هڪ سيٽ جي طور تي، جن مان هر هڪ ڪجهه ڊيٽا تي مشتمل ٿي سگهي ٿو (هڪ ڊيٽا عنصر في سيل). هڪ مخصوص سيل تائين رسائي ان جي نمبر ذريعي ڪيو ويندو آهي. هڪ صف ۾ هڪ عنصر جو تعداد پڻ سڏيو ويندو آهي انڊيڪس . جاوا جي صورت ۾، صف هڪجهڙائي وارو آهي، اهو آهي، ان جا سڀئي سيل ساڳئي قسم جي عناصر کي ذخيرو ڪندا. تنهن ڪري، انٽيجرز جي هڪ صف ۾ صرف انٽيجرز شامل آهن (مثال طور، قسم جي int )، strings جي هڪ صف ۾ صرف اسٽرنگ شامل آهن، اسان جي ٺاهيل Dog طبقي جي عناصرن جي هڪ صف ۾ صرف Dog شيون شامل هونديون . اهو آهي، جاوا ۾، اسان هڪ صف جي پهرين سيل ۾ هڪ انٽيجر، ٻئي ۾ هڪ String ، ۽ ٽئين ۾ "ڪتو" نٿا رکي سگهون. جاوا ۾ صفون

صفن جو اعلان

هڪ صف جو اعلان ڪيئن ڪجي؟

ڪنهن به متغير وانگر، جاوا ۾ هڪ صف جو اعلان ڪيو وڃي. توهان اهو ڪري سگهو ٿا ٻن طريقن مان هڪ ۾. اھي برابر آھن، پر پھريون ھڪڙي جاوا انداز سان وڌيڪ مطابقت آھي. ٻيو سي ٻولي جي ورثي آهي (ڪيترائي سي پروگرامر جاوا ڏانهن تبديل ڪيا ويا، ۽ انهن جي سهولت لاء هڪ متبادل طريقو ڇڏي ويو). جدول جاوا ۾ هڪ صف جو اعلان ڪرڻ جا ٻئي طريقا ڏيکاري ٿو:
نه. صف جو اعلان، جاوا نحو مثال هڪ تبصرو
1.
dataType[] arrayName;
int[] myArray;

Object[]
arrayOfObjects;
اهو مشورو ڏنو ويو آهي ته هن طريقي سان هڪ صف جو اعلان ڪريو، هي جاوا انداز آهي
2.
dataType arrayName[];
int myArray[];

Object
arrayOfObjects[];
C/C++ مان arrays جو اعلان ڪرڻ جو هڪ وراثت طريقو جيڪو جاوا ۾ پڻ ڪم ڪري ٿو
ٻنهي صورتن ۾، dataType صف ۾ متغير جو قسم آهي. مثالن ۾ اسان ٻن صفن جو اعلان ڪيو. هڪ انٽيگرز قسم جي int کي ذخيرو ڪندو ، ٻيو قسم جي شين کي ذخيرو ڪندو Object . اهڙيء طرح، جڏهن هڪ صف جو اعلان ڪيو ويو آهي، ان ۾ هڪ نالو ۽ هڪ قسم آهي (سري جي متغير جو قسم). arrayName صف جو نالو آھي.

هڪ صف ٺاهڻ

هڪ صف ڪيئن ٺاهي؟

ڪنهن ٻئي شئي وانگر، توهان هڪ جاوا صف ٺاهي سگهو ٿا، اهو آهي، ان لاءِ ميموري اسپيس محفوظ ڪريو، نئين آپريٽر کي استعمال ڪندي . اهو هن طرح ڪيو ويندو آهي:
new typeOfArray [length];
جتي typeOfArray صف جو قسم آھي، ۽ ڊگھائي آھي ان جي ڊگھائي (يعني، سيلن جو تعداد)، انٽيجرز ( int ) ۾ بيان ڪيو ويو آھي. بهرحال، هتي اسان صرف ميموري لاءِ مختص ڪئي آهي ايري لاءِ، پر ٺاهيل ايري کي ڪنهن به اڳوڻي اعلان ڪيل متغير سان لاڳاپيل نه ڪيو آهي. عام طور تي هڪ صف جو پهريون اعلان ڪيو ويندو آهي ۽ پوءِ ٺاهيو ويندو آهي، مثال طور:
int[] myArray; // array declaration
myArray = new int[10]; // creation, that is, allocation of memory for an array of 10 elements of type int
هتي اسان انٽيجرز جي هڪ صف جو اعلان ڪيو جنهن کي myArray سڏيو ويندو آهي ، ۽ پوءِ اعلان ڪيو ته اهو 10 سيلن تي مشتمل آهي (جن مان هر هڪ انٽيجر محفوظ ڪندو). بهرحال، هي شارٽ هينڊ نحو استعمال ڪندي اعلان کان پوءِ فوري طور تي هڪ صف ٺاهڻ لاءِ تمام گهڻو عام آهي:
int[] myArray = new int[10]; // declaration and allocation of memory "in one bottle"
نوٽ:نئين استعمال ڪندي هڪ صف ٺاهڻ کان پوء ، ان جا سيلز ڊفالٽ ويلز سان ڀرجي ويا آهن. عددي قسمن لاءِ (جيئن اسان جي مثال ۾) اھو ٿيندو 0، boolean - false ، حوالي جي قسمن لاءِ - null . اهڙيء طرح، آپريشن کان پوء
int[] myArray = new int[10];
اسان کي ڏهن عددن جو هڪ صف ملي ٿو، ۽ جيستائين هن پروگرام ۾ تبديلي نه ايندي، هر سيل ۾ هڪ 0 هوندو آهي.

arrays جي باري ۾ وڌيڪ معلومات مضمون ۾ ملي سگهي ٿي " صفن بابت ڪجهه "

جاوا ۾ صف جي ڊيگهه

جيئن اسان مٿي چيو آهي، هڪ سري جي ڊيگهه عناصر جو تعداد آهي جنهن جي لاء صف ٺهيل آهي. هڪ صف جي ڊيگهه تبديل نه ٿي ڪري سگھجي هڪ ڀيرو اها ٺاهي وئي آهي. نوٽ:جاوا ۾، صفن جي عناصر کي صفر کان شروع ڪيو ويو آھي. اهو آهي، جيڪڏهن اسان وٽ 10 عنصرن جي هڪ صف آهي، ته پوءِ صف جي پهرين عنصر جو انڊيڪس 0 هوندو، ۽ آخري هڪ ۾ انڊيڪس 9 هوندو. توهان ڊانٿجاوا ۾ صفون - 3 ويريبل استعمال ڪندي صف جي ڊيگهه تائين رسائي ڪري سگهو ٿا . مثال:
int[] myArray = new int[10]; // created an array of integers with 10 elements and named it myArray
System.out.println(myArray.length); // printed to the console the length of the array, that is, the number of elements that we can put in the array
پروگرام جي پيداوار:
10

هڪ صف کي شروع ڪرڻ ۽ ان جي عناصر تائين رسائي

جاوا ۾ هڪ صف ڪيئن ٺاهيو اڳ ۾ ئي واضح آهي. هن عمل کان پوء، اسان کي هڪ خالي صف حاصل نه آهي، پر هڪ صف ڊفالٽ قدرن سان ڀريل آهي. مثال طور، int جي صورت ۾ اهي 0 هوندا، ۽ جيڪڏهن اسان وٽ هڪ ريفرنس جي قسم جي ڊيٽا سان گڏ آهي، پوء ڊفالٽ طور، هر سيل ۾ null لکيو ويندو آهي . اسان ان جي انڊيڪس ذريعي هڪ آري عنصر تائين پهچون ٿا (اهو آهي، اسان ان ۾ هڪ قدر لکون ٿا يا ان کي اسڪرين تي ڏيکاريون ٿا يا ان سان ڪجهه آپريشن انجام ڏيون ٿا). هڪ صف شروع ڪرڻ ان کي مخصوص ڊيٽا سان ڀريو پيو آهي (ڊفالٽ طرفان نه). مثال: اچو ته 4 موسمن جو هڪ صف ٺاهيو ۽ ان کي اسٽرنگ ويلز سان ڀريون - انهن موسمن جا نالا.
String[] seasons  = new String[4]; /* declared and created an array. Java allocated memory for an array of 4 strings, and now each cell is null (because the string is a reference type)*/

seasons[0] = "Winter"; /* in the first cell, that is, in the cell with a zero number, we wrote the string Winter. Here we get access to the zero element of the array and write a specific value there */
seasons[1] = "Spring"; // do the same procedure with cell number 1 (second)
seasons[2] = "Summer"; // ...number 2
seasons[3] = "Autumn"; // and with the last one, number 3
ھاڻي اسان جي سرن جي سڀني چئن سيلن ۾ موسمن جا نالا آھن. شروعات پڻ مختلف طريقي سان ٿي سگهي ٿي، شروعات ۽ اعلان کي گڏ ڪندي:
String[] seasons  = new String[] {"Winter", "Spring", "Summer", "Autumn"};
ان کان علاوه، نئين آپريٽر کي ختم ڪري سگھجي ٿو:
String[] seasons  = {"Winter", "Spring", "Summer", "Autumn"};

اسڪرين تي جاوا ۾ هڪ صف کي ڪيئن ڏيکاريو؟

توھان اسڪرين تي صفن جي عناصر کي ڊسپلي ڪري سگھو ٿا (اھو آھي، ڪنسول ڏانھن)، مثال طور، استعمال ڪندي a for loop . ٻيو، اسڪرين تي ايري کي ڊسپلي ڪرڻ لاءِ ننڍو طريقو هيٺ ڏنل پيراگراف ۾ بحث ڪيو ويندو ”اريءَ سان ڪم ڪرڻ لاءِ مفيد طريقا“. ھاڻي اچو ته ھڪ مثال ڏسون ھڪڙي صف جي cyclic پيداوار سان:
String[] seasons  = new String[] {"Winter", "Spring", "Summer", "Autumn"};
for (int i = 0; i < 4; i++) {
System.out.println(seasons[i]);
}
نتيجي طور، پروگرام ھيٺ ڏنل نتيجو ڪڍندو:
سياري بهار جي اونهاري سرءُ

هڪ طرفي ۽ گھڻائي جاوا صفا

ڇا جيڪڏهن اسان چاهيون ٿا ته انگن جي هڪ صف، تارن جي هڪ صف، يا ڪجهه شين جي هڪ صف، پر صفن جي هڪ صف؟ جاوا توهان کي اهو ڪرڻ جي اجازت ڏئي ٿي. اڳ ۾ ئي واقف صف int[] myArray = new int[8] هڪ نام نهاد هڪ-dimensional صف آهي. ۽ صفن جي هڪ صف کي ٻه طرفي سڏيو ويندو آهي. اهو هڪ ٽيبل وانگر آهي جنهن ۾ هڪ قطار نمبر ۽ هڪ ڪالمن نمبر آهي. يا، جيڪڏهن توهان سکيو ته لڪير الجبرا جي شروعات، هڪ ميٽرڪس تي. جاوا ۾ صفون - 4اهڙين صفن جي ضرورت ڇو آهي؟ خاص طور تي، پروگرامنگ لاءِ ساڳيا ميٽرڪس ۽ جدول، گڏوگڏ شيون جيڪي انهن جي جوڙجڪ ۾ هڪجهڙائي رکن ٿيون. مثال طور، شطرنج جي راند جي ميدان کي 8x8 صف طور بيان ڪري سگھجي ٿو. ھڪڙي گھڻائي واري صف جو اعلان ڪيو ويو آھي ۽ ھيٺ ڏنل ٺاھيو ويو آھي:
int[][] myTwoDimentionalArray = new int [8][8];
هن صف ۾ بلڪل 64 عناصر آهن: myTwoDimentionalArray[0][0], myTwoDimentionalArray[0][1], myTwoDimentionalArray[1][0], myTwoDimentionalArray[1][1]and so on up to myTwoDimentionalArray[7][7]. پوء جيڪڏھن اسان ان کي استعمال ڪريون ٿا شطرنج بورڊ جي نمائندگي ڪرڻ لاء، پوء سيل A1 نمائندگي ڪندو myTwoDimentionalArray[0][0]، ۽ E2 نمائندگي ڪندو myTwoDimentionalArray[4][1]. جتي ٻه آهن اتي ٽي آهن. جاوا ۾، توھان وضاحت ڪري سگھو ٿا صفن جي ھڪڙي صف... صفن جي صفن جو ھڪڙو صف، وغيره. سچ پچ، ٽي-dimensional ۽ وڌيڪ arrays تمام گهٽ استعمال ٿيندا آهن. جڏهن ته، هڪ ٽي-dimensional صف استعمال ڪندي، توهان پروگرام ڪري سگهو ٿا، مثال طور، هڪ Rubik جي ڪعب.

ٻيو ڇا پڙهان

گھڻائي وارين صفن

arrays سان ڪم ڪرڻ لاء مفيد طريقا

جاوا ۾ arrays سان ڪم ڪرڻ لاءِ هڪ ڪلاس آهي java.util.Arrays (انگريزي ۾ arrays جو مطلب آهي “arrays”). عام طور تي، هيٺين عملن کي اڪثر ڪري سرن سان ڪيو ويندو آهي: عناصر سان ڀرڻ (شروعات)، هڪ عنصر ٻيهر حاصل ڪرڻ (نمبر طرفان)، ترتيب ڏيڻ ۽ ڳولها. صفن کي ڳولڻ ۽ ترتيب ڏيڻ هڪ الڳ موضوع آهي. هڪ طرف، اهو تمام مفيد آهي مشق ڪرڻ ۽ لکڻ لاءِ ڪيترن ئي ڳولا ۽ ترتيب ڏيڻ واري الگورتھم پاڻ کي. ٻئي طرف، جاوا لائبرريءَ ۾ سڀ بهترين طريقا اڳ ۾ ئي لکيل ۽ شامل ڪيا ويا آهن، ۽ قانوني طور استعمال ڪري سگھجن ٿا. هتي هن طبقي جا ٽي مفيد طريقا آهن

ترتيب ترتيب ڏيو

طريقه void sort(int[] myArray, int fromIndex, int toIndex)انٽيجرز جي هڪ صف کي ترتيب ڏئي ٿو يا ان جي ذيلي سري کي وڌندي ترتيب ۾.

مطلوب عنصر لاءِ هڪ صف ڳولي رهيو آهي

int binarySearch(int[] myArray, int fromIndex, int toIndex, int key). هي طريقو اڳ ۾ ئي ترتيب ڏنل myArray يا subarray ۾ اهم عنصر ڳولي ٿو ، انڊيڪس کان شروع ٿئي ٿو ۽ انڊيڪس تائين ختم ٿئي ٿو . جيڪڏهن عنصر مليو آهي، طريقو ان جي انڊيڪس واپس ڏئي ٿو، جيڪڏهن نه - . (-fromIndex)-1

هڪ صف کي تار ۾ تبديل ڪرڻ

طريقو String toString(int[] myArray)صف کي هڪ تار ۾ تبديل ڪري ٿو. شيء اها آهي ته جاوا صفن ۾ اوور رائڊ نه ڪندا آهن toString() . هن جو مطلب اهو آهي ته جيڪڏهن توهان پوري صف کي ڊسپلي ڪرڻ جي ڪوشش ڪندا آهيو (بلڪه عنصر طرفان عنصر، جيئن ته " پرنٽ ڪندي هڪ آري کي اسڪرين تي ") سڌو اسڪرين تي ( System.out.println(myArray))، توهان کي ڪلاس جو نالو ۽ هيڪساڊيڪل هيش ڪوڊ ملندو. (اها وضاحت ڪئي وئي آهي Object.toString() ). جيڪڏهن توهان شروعاتي آهيو، توهان شايد طريقي جي وضاحت نه سمجهي سگهو ٿا toString. پهرين مرحلي ۾ اهو ضروري ناهي، پر هن طريقي کي استعمال ڪندي صف جي پيداوار کي آسان ڪيو ويو آهي. جاوا لوپ استعمال ڪرڻ کان سواء هڪ صف کي ڊسپلي ڪرڻ آسان بڻائي ٿو. ھن تي وڌيڪ ھيٺ ڏنل مثال ۾.

مثال طور ترتيب ڏيڻ، بائنري ڳولا ۽ toString تي

اچو ته انٽيجرز جو هڪ صف ٺاهيو، ان کي اسڪرين تي ڏيکاريون toString استعمال ڪندي، ان کي ترتيب ڏيو استعمال ڪندي ترتيب ڏيو ، ۽ ان ۾ ڪجھ نمبر ڳولھيو.
class Main {
    public static void main(String[] args) {
        int[] array = {1, 5, 4, 3, 7}; //declaring and initializing the array
        System.out.println(array);//trying to display our array on the screen without the toString method - we get a hexadecimal number
        System.out.println(Arrays.toString(array));//печатаем массив "правильно"
        Arrays.sort(array, 0, 4); // sort the entire array from zero to the fourth member
        System.out.println(Arrays.toString(array));//print the sorted array to the screen
        int key = Arrays.binarySearch(array, 5); // ищем key - число 5 в отсортированном массиве.
        //binarySearch method will return the index of the sorted array element, in which the required number is "hidden"
        System.out.println(key);//распечатываем индекс искомого числа
System.out.println(Arrays.binarySearch(array, 0));//а теперь попробуем найти число, которого в массиве нет,
        // and immediately display the result on the screen

    }
}
پروگرام جي پيداوار:
[I@1540e19d [1، 5، 4، 3، 7] [1، 3، 4، 5، 7] 3 -1
پهرين لڪير toString کان سواءِ هڪ ايري کي ظاهر ڪرڻ جي ڪوشش آهي ، ٻئي ۾ toString استعمال ڪندي هڪ صف ڏيکاريندي آهي ، ٽيون ترتيب ڏنل صف آهي، چوٿين ترتيب ڏنل صف ۾ گهربل نمبر 5 جي انڊيڪس آهي (ياد رکو ته اسان ڳڻپ ڪري رهيا آهيون. صفر، تنهنڪري صف جي چوٿين عنصر ۾ هڪ انڊيڪس 3 آهي). پنجين لائن ۾ اسان ڏسون ٿا قدر -1 . هڪ صف ۾ اهڙي انڊيڪس نه آهي. ٻاھر نڪرندڙ سگنل آھي ته مطلوب عنصر (ھن صورت ۾، 0) صف ۾ نه آھي.

Array ڪلاس جي طريقن بابت وڌيڪ

Arrays ڪلاس ۽ ان جو استعمال - مضمون بيان ڪري ٿو Array طبقي جا ڪجھ طريقا

arrays جي باري ۾ بنيادي شيء

  • هڪ صف جي مکيه خاصيتون: ان ۾ رکيل ڊيٽا جو قسم، نالو ۽ ڊيگهه.
    بعد ۾ فيصلو ڪيو ويو آهي شروعات جي دوران (صفت لاءِ ميموري مختص ڪرڻ)، پهرين ٻه پيرا ميٽر مقرر ڪيا ويا آهن جڏهن صف جو اعلان ڪيو وڃي.

  • صف جي سائيز (سيلز جو تعداد) int ۾ بيان ڪيو وڃي

  • توھان ان جي ٺاھڻ کان پوءِ ھڪڙي صف جي ڊگھائي کي تبديل نٿا ڪري سگھو.

  • هڪ صف جو عنصر ان جي انڊيڪس ذريعي پهچائي سگھجي ٿو.

  • صفن ۾، جاوا ۾ ٻين هنڌن وانگر، عناصر صفر کان شروع ٿينديون آهن.

  • صف ٺاھڻ جي عمل کان پوء، اھو ڊفالٽ قدرن سان ڀريو ويندو آھي.

  • جاوا ۾ Arrays C++ جي ڀيٽ ۾ مختلف ترتيب ڏنل آھن. اهي لڳ ڀڳ ساڳيا آهن جيئن ته متحرڪ صفن ڏانهن اشارو.

صفن بابت مفيد مواد

arrays بابت وڌيڪ ڄاڻڻ چاهيو ٿا؟ مهرباني ڪري هيٺ ڏنل مضمونن تي هڪ نظر وٺو. هن موضوع تي تمام دلچسپ ۽ مفيد معلومات آهي.
  1. Arrays بابت ڪجھ - arrays تي سٺو تفصيلي مضمون

  2. Arrays ڪلاس ۽ ان جو استعمال - مضمون بيان ڪري ٿو Array طبقي جا ڪجھ طريقا

  3. ملٽي ڊائمينشنل آريز - مثالن سان گڏ ملٽي ڊيمانشنل اري بابت تفصيلي مضمون.

  4. صفر-لمبائي واري صف کي واپس ڏيو، خالي نه - اثرائتو پروگرامنگ ليکڪ جوشوا بلوچ انهي بابت ڳالهائي ٿو ته ڪيئن بهتر طور تي خالي صفن کي واپس ڪجي

تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION