ما هو مصفوفة مصفوفة/ثنائية الأبعاد في جافا؟
"المصفوفة عبارة عن مجموعة من الأرقام مرتبة في عدد ثابت من الصفوف والأعمدة." عادة ما تكون هذه أرقام حقيقية. بشكل عام، يمكن أن تحتوي المصفوفات على أرقام مركبة، ولكن من أجل التبسيط، سنستخدم هنا الأعداد الصحيحة فقط. دعونا نلقي نظرة على كيف تبدو المصفوفة. فيما يلي مثال لمصفوفة مكونة من 4 صفوف و4 أعمدة.قم بتعريف وتهيئة مصفوفة ثنائية الأبعاد
فيما يلي بعض الطرق المختلفة إما للإعلان عن حجم المصفوفة فقط، أو لتهيئتها دون ذكر الحجم.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" } };
}
}
اجتياز المصفوفة ثنائية الأبعاد
نعلم جميعًا كيفية اجتياز المصفوفات العادية في Java. بالنسبة للمصفوفات ثنائية الأبعاد، الأمر ليس صعبًا أيضًا. نستخدم عادةً حلقات "for" المتداخلة لهذا الغرض. قد يفكر بعض المبتدئين في الأمر على أنه مفهوم غريب، ولكن بمجرد التعمق فيه، ستتمكن من تنفيذ ذلك من خلال بعض الممارسة. ألق نظرة على المقتطف التالي. يعرض فقط عدد الأعمدة المقابلة لكل صف لفهمك الشامل.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: العمود 0 العمود 1 العمود 2 العمود 3
كيفية طباعة صفيف ثنائي الأبعاد في جافا؟
بعد أن تتعرف على اجتياز المصفوفات ثنائية الأبعاد، فلنلقِ نظرة على بعض الطرق لطباعة المصفوفات ثنائية الأبعاد في Java.استخدام حلقة "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
باستخدام حلقة "لكل".
إليك طريقة أخرى لطباعة صفائف ثنائية الأبعاد في Java باستخدام " حلقة foreach ". هذا نوع خاص من الحلقات توفره Java، حيث سيتم تكرار الصف int[]من خلال كل صف في المصفوفة. حيث أن المتغير "العنصر" سيحتوي على كل عنصر يوضع في فهرس العمود خلال الصف.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() في Java على تحويل كل معلمة تم تمريرها إليها كمصفوفة واحدة وتستخدم طريقتها المضمنة لطباعتها. لقد أنشأنا مجموعة وهمية ثنائية الأبعاد للعب حولها. تعمل نفس الطريقة أيضًا مع المصفوفات الصحيحة. نحن نشجعك على ممارسة ذلك لممارسة الرياضة الخاصة بك.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);
}
}
انتاج |
[مرحبًا، أنا كارين] [أنا جديد في لغة Java] [أحب السباحة] [أحيانًا ألعب على لوحة المفاتيح]
GO TO FULL VERSION