English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

التعليمية الأساسية لـ Java

Java Control Flow

Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

معالجة الاستثنائات لـ Java

Java List

Java Queue (Queue)

Java Map Collection

Java Set Collection

Java Input/Output (I/O)

Java Reader/Writer

مواضيع أخرى Java

مجموعات متعددة الأبعاد لـ Java

في هذا الدرس، سنتعلم باستخدام أمثلة كيفية استخدام مصفوفات ثنائية الأبعاد وثلاثية الأبعاد في مصفوفات متعددة الأبعاد باستخدام Java.

قبل أن تتعلم مصفوفات متعددة الأبعاد، تأكد من أنك تفهمJava Arrays.

مصفوفات متعددة الأبعاد هي مصفوفات مصفوفات. كل عنصر في مصفوفة متعددة الأبعاد هو مصفوفة نفسها. على سبيل المثال،

int[][] a = new int[3][4];

 في هذا، قمنا بإنشاء مصفوفة متعددة الأبعاد تسمى a. إنها مصفوفة ثنائية الأبعاد يمكنها استيعاب 12 عنصرًا على الأكثر،

مصفوفة ثنائية الأبعاد

 تذكر، يستخدم Java تتبع الرقم من الصفر، مما يعني أن تتبع مصفوفات Java يبدأ من 0 وليس من 1.

دعونا نأخذ مثالاً آخر على مصفوفات متعددة الأبعاد. هذه المرة سنقوم بإنشاء مصفوفة ثلاثية الأبعاد.

String[][][] data = new String[3][4][2];

 هنا، data هي مصفوفة ثلاثية الأبعاد يمكنها استيعاب حتى 24 (3*4*2) عنصرًا من النوع String.

كيفية إعداد مصفوفة ثنائية الأبعاد في Java؟

هذا هو كيفية إعداد مصفوفة ثنائية الأبعاد في Java.

int[][] a = {
      {1, 2, 3}, 
      {4, 5, 6, 9}, 
      {7}, 
};

كما رأينا، كل عنصر في مصفوفات متعددة الأبعاد هو مصفوفة نفسها. ونتيجةً لذلك، يمكن أن يكون طول كل صف في مصفوفة متعددة الأبعاد في Java مختلفًا عن الآخر، مما يختلف عن C / C ++.

إعداد مصفوفة ثنائية الأبعاد

مثال: مصفوفة ثنائية الأبعاد

class MultidimensionalArray {
    public static void main(String[] args) {
        //إنشاء مصفوفة ثنائية الأبعاد
        int[][] a = {
            {1, 2, 3}, 
            {4, 5, 6, 9}, 
            {7}, 
        };
      
        //حساب طول كل صف
        System.out.println("طول الصف الأول: " + a[0].length);
        System.out.println("طول الصف الثاني: " + a[1].length);
        System.out.println("طول الصف الثالث: " + a[2].length);
    }
}

Output

طول الصف الأول: 3
طول الصف الثاني: 4
طول الصف الثالث: 1

في المثال السابق، قمنا بإنشاء مصفوفة متعددة الأبعاد تُدعى a، لأن كل عنصر في مصفوفة متعددة الأبعاد هو أيضًا مصفوفة (a[0],[1] و [2] أيضًا مصفوفات).
هنا، نستخدم خاصية length لحساب طول كل صف.

مثال: طباعة جميع عناصر مصفوفة ثنائية الأبعاد باستخدام الحلقات

class MultidimensionalArray {
    public static void main(String[] args) {
        int[][] a = {
            {1, -2, 3}, 
            {-4, -5, 6, 9}, 
            {7}, 
        };
      
        for(int i = 0; i < a.length; ++i) {
            for(int j = 0; j < a[i].length; ++j) {
                System.out.println(a[i][j]);
            }
        }
    }
}

Output

1
-2
3
-4
-5
6
9
7

يمكننا أيضًا استخدامحلقة for...eachللوصول إلى عناصر مصفوفات متعددة الأبعاد. على سبيل المثال،

class MultidimensionalArray {
    public static void main(String[] args) {
        //إنشاء مصفوفة ثنائية الأبعاد
        int[][] a = {
            {1, -2, 3}, 
            {-4, -5, 6, 9}, 
            {7}, 
        };
      
        //أولاً، حلقة for...each لاستدعاء المصفوفة الفردية
        //في مصفوفة ثنائية الأبعاد
        for(int[] innerArray: a) {
            //الجولة الثانية لحلقة for...each لاستدعاء كل عنصر في الصف الداخلي
            for(int data: innerArray) {
                System.out.println(data);
            }
        }
    }
}

Output

1
-2
3
-4
-5
6
9
7

 في المثال السابق، قمنا بإنشاء مصفوفة ثنائية الأبعاد تُدعى a، ثم استخدمنا حلقة for و حلقة for...each لاستدعاء كل عنصر في المصفوفة.

كيفية إعداد مصفوفة ثلاثية الأبعاد في Java؟

 لنلتمشهد كيفية استخدام مصفوفات ثلاثية الأبعاد في Java. يمكننا إعداد مصفوفة ثلاثية الأبعاد تشبه مصفوفة ثنائية الأبعاد. على سبيل المثال،

// test is a 3D array
int[][][] test = {
        {
          {1, -2, 3}, 
          {2, 3, 4}
        }, 
        { 
          {-4, -5, 6, 9}, 
          {1}, 
          {2, 3}
        } 
};

 基本上، 3D Array هو مجموعة من Arrays 2D. يمكن أن تتغير أطوال الصفوف في المخطط الثلاثي مثل المخطط الثنائي.

Example: 3D Array

class ThreeArray {
    public static void main(String[] args) {
        // Create a 3D Array
        int[][][] test = {
            {
              {1, -2, 3}, 
              {2, 3, 4}
            }, 
            { 
              {-4, -5, 6, 9}, 
              {1}, 
              {2, 3}
            } 
        };
        //for..each Loop Iterates Over Elements of 3D Array
        for(int[][] array2D: test) {
            for(int[] array1D: array2D) {
                for(int item: array1D) {
                    System.out.println(item);
                }
            }
        }
    }
}

Output

1
-2
3
2
3
4
-4
-5
6
9
1
2
3