CodeGym /جاوا بلاگ /Random-SD /جاوا ۾ ميٽرڪس - 2D Arrays
John Squirrels
سطح
San Francisco

جاوا ۾ ميٽرڪس - 2D Arrays

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

جاوا ۾ هڪ Matrix / 2D Array ڇا آهي؟

"ميٽرڪس انگن جو هڪ مجموعو آهي جيڪو قطار ۽ ڪالمن جي مقرر ڪيل تعداد ۾ ترتيب ڏنل آهي." عام طور تي اهي حقيقي انگ آهن. عام طور تي، ميٽرڪس پيچيده نمبرن تي مشتمل ٿي سگھي ٿو پر سادگي جي خاطر اسان هتي صرف مڪمل انگ استعمال ڪنداسين. اچو ته هڪ نظر رکون ته هڪ ميٽرڪس ڪيئن نظر اچي ٿو. هتي 4 قطارن ۽ 4 ڪالمن سان ميٽرڪس جو هڪ مثال آهي.جاوا ۾ ميٽرڪس - 2D Arrays - 2
تصوير 1: هڪ سادي 4x4 ميٽرڪس
جاوا ۾ هن ميٽرڪس جي نمائندگي ڪرڻ لاء، اسان استعمال ڪري سگهون ٿا 2 Dimensional Array. A 2D Array 2 طول و عرض وٺندو آهي، هڪ قطار لاء ۽ هڪ ڪالمن لاء. مثال طور، جيڪڏهن توهان هڪ integer array int arr[4][4] بيان ڪيو ته پوءِ ان جو مطلب آهي ميٽرڪس ۾ 4 قطارون ۽ 4 ڪالم هوندا. يا توهان چئي سگهو ٿا هر قطار لاءِ 4 ڪالمن هوندا. هڪ ميٽرڪس ۾ سيلن جو ڪل سائيز / تعداد قطار * ڪالمن = mxn = 4x4 = 16 هوندو.جاوا ۾ ميٽرڪس - 2D Arrays - 3
تصوير 2: تصوير 1 ۾ ميٽرڪس[4][4] جاوا ۾ 2D سري طور ڏيکاريل آهي

اعلان ڪريو ۽ 2D صف شروع ڪريو

هتي ڪجھ مختلف طريقا آهن يا ته صرف صف جي سائيز جو اعلان ڪرڻ، يا ان کي شروع ڪرڻ کان سواءِ سائيز جو ذڪر ڪرڻ.
public class Matrices {

	public static void main(String[] args) {

		// declare & initialize 2D arrays for int and string
		int[][] matrix1 = new int[2][2];
		int matrix2[][] = new int[2][3];

           //the size of matrix3 will be 4x4
		int[][] matrix3 = { { 3, 2, 1, 7 },
					   { 9, 11, 5, 4 },
					   { 6, 0, 13, 17 },
					   { 7, 21, 14, 15 } };

		String[][] matrix4 = new String[2][2];

           //the size of matrix5 will be 2x3
           // 3 cols because at max there are 3 columns
		String[][] matrix5 = { { "a", "lion", "meo" },
				            { "jaguar", "hunt" } };
	}
}

2D Array Traversal

اسان سڀ ڄاڻون ٿا ته جاوا ۾ باقاعده صفن کي ڪيئن وڌايو وڃي. 2D arrays لاءِ اهو به مشڪل ناهي. اسان عام طور تي استعمال ڪندا آهيون nested 'for' loops ان لاءِ. ڪجھ شروعات ڪندڙ شايد ان کي ڪجھ اجنبي تصور سمجھن ٿا، پر جيترو جلدي توھان ان ۾ گھيرو ڪندا توھان ان کي ڪجھ مشق سان لاڳو ڪرڻ جي قابل ٿي ويندا. هيٺ ڏنل ٽڪرا تي هڪ نظر وٺو. اهو صرف توهان جي مڪمل سمجھڻ لاء هر قطار سان لاڳاپيل ڪالمن جو تعداد ڏيکاري ٿو.
public class MatrixTraversal {
	public static void main(String[] args) {

	    int[][] matrix = new int[4][4];
	    for (int i = 0; i < matrix.length; i++)
	    {
		 // length returns number of rows
		 System.out.print("row " + i + " : ");
		 for (int j = 0; j < matrix[i].length; j++)
		 {
		    // here length returns # of columns corresponding to current row
		    System.out.print("col " + j + "  ");
		 }
	    System.out.println();
	   }
	}
}
پيداوار
قطار 0 : ڪرنل 0 ڪرنل 1 ڪرنل 2 ڪرنل 3 قطار 1 : ڪرنل 0 ڪرنل 1 ڪرل 2 ڪرنل 3 قطار 2 : ڪرنل 0 ڪرنل 1 ڪرنل 2 ڪرنل 3 قطار 3

جاوا ۾ 2D سري ڪيئن پرنٽ ڪجي؟

2D Array traversal سان واقف ٿيڻ کان پوء، اچو ته جاوا ۾ 2D Arrays کي ڇپائڻ جا ڪجھ طريقا ڏسو.

Nested "for" لوپ استعمال ڪندي

هي جاوا ۾ ميٽرڪس کي پرنٽ ڪرڻ جو بنيادي طريقو آهي.
public class MatrixTraversal {

    public static void printMatrix(int matrix[][])
    {
        for (int i = 0; i < matrix.length; i++)
	  {
	    // length returns number of rows
	    for (int j = 0; j < matrix[i].length; j++)
	    {
	      // here length returns number of columns corresponding to current row
		// using tabs for equal spaces, looks better aligned
		// matrix[i][j] will return each element placed at row ‘i',column 'j'
		System.out.print( matrix[i][j]  + "\t");
	     }
	     System.out.println();
	   }
	}

	public static void main(String[] args) {

		int[][] matrix = { { 3, 2, 1, 7 },
					 { 9, 11, 5, 4 },
					 { 6, 0, 13, 17 },
					 { 7, 21, 14, 15 } };
		printMatrix(matrix);
	}
}
پيداوار
3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15

"هر هڪ لاء" لوپ استعمال ڪندي

ھتي جاوا ۾ پرنٽ ڪرڻ جو ھڪڙو ٻيو طريقو آھي " فوريچ لوپ " استعمال ڪندي. هي هڪ خاص قسم جو لوپ آهي جيڪو جاوا طرفان مهيا ڪيو ويو آهي، جتي int[]roow هر قطار ذريعي ميٽرڪس ۾ لوپ ڪندو. جڏهن ته، متغير "عنصر" هر عنصر تي مشتمل هوندو جيڪو قطار ذريعي ڪالمن انڊيڪس تي رکيل آهي.
public class MatrixTraversal {

	public static void printMatrix(int matrix[][]){
		for (int [] row : matrix)
		{
			// traverses through number of rows
			for (int element : row)
			{
				// 'element' has current element of row index
				System.out.print( element  + "\t");
			}
			System.out.println();
		}
	}

	public static void main(String[] args) {

		int[][] matrix = {  { 3, 2, 1, 7 },
					  { 9, 11, 5, 4 },
					  { 6, 0, 13, 17 },
					  { 7, 21, 14, 15 } };
		printMatrix(matrix);
	}
}
پيداوار
3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15

استعمال ڪندي "Arays.toString()" طريقو

جاوا ۾ Arrays.toString() طريقو، هر پيٽرولر کي تبديل ڪري ٿو ان کي ھڪڙي صف جي طور تي ۽ ان کي پرنٽ ڪرڻ لاء ان جي تعمير ٿيل طريقي کي استعمال ڪري ٿو. اسان ٺاھيو آھي ھڪڙو ڊمي اسٽرنگ 2D صف جي چوڌاري کيڏڻ لاءِ. ساڳيو طريقو انٽيجر صفن لاءِ پڻ ڪم ڪري ٿو. اسان توهان کي حوصلا افزائي ڪريون ٿا ته ان کي توهان جي مشق لاء مشق ڏيو.
import java.util.Arrays;
public class MatrixTraversal {
	public static void printMatrix(String matrix[][]){

		for (String[] row : matrix) {
			// convert each row to a String before printing
			System.out.println(Arrays.toString(row));
		}
	}

	public static void main(String[] args) {

		String [][] matrix = {  { "Hi, I am Karen" },
						{ "I'm new to Java"},
						{ "I love swimming" },
						{ "sometimes I play keyboard"} };
		printMatrix(matrix);
	}
}
پيداوار
[هاءِ، مان ڪيرن آهيان] [مان جاوا ۾ نئون آهيان] [مون کي ترڻ پسند آهي] [ڪڏهن ڪڏهن مان ڪي بورڊ هلائيندو آهيان]

ڪوڊ جي وضاحت

پهرين ورهاڱي ۾، String[]row پڙهندي “Hi, I am Karen” هڪ Array جي طور تي، ان کي اسٽرنگ ۾ تبديل ڪريو ۽ پوءِ ان کي پرنٽ ڪريو. اهڙيءَ طرح سڀ ورجاءُ ٿيندا. هتي مهيا ڪيل افاديت اها آهي ته توهان کي ڪنهن به انڊيڪس (i، j) يا nested loops جي ٽريڪ رکڻ جي ضرورت ناهي.

نتيجو

جاوا ۾ 2D Arrays گھڻن-dimensional arrays مان سڀ کان وڌيڪ آسان آھن. هن آرٽيڪل جي آخر تائين اسان کي اميد آهي ته توهان انهن کي استعمال ڪرڻ کان ڊپ نه آهيو، بلڪه ڪجهه سنجيده ڪم لاء توهان جي آستين کي رول ڪرڻ لاء تيار آهي. توھان ھلائي سگھوٿا اھي سڀئي نمونا ڪوڊ يا ڊيبگ لائن ذريعي پنھنجي سھولت موجب. پر آخر ۾، اسان مشورو ڏيڻ چاهيندا (هميشه وانگر) اهو مهارت وڏي مشق ۽ صبر سان اچي ٿو. اميد ته توهان کي جاوا ۾ 2D Arrays سان گڏ سکيا جو تجربو مزو ايندو. سدا خوشقسمت رهو!
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION