Python lặp lại mảng 2d với chỉ mục

Bạn có thể lặp qua một mảng hai chiều trong Java bằng cách sử dụng hai vòng lặp for, còn được gọi là vòng lặp lồng nhau. Tương tự để lặp một mảng n chiều bạn cần n vòng lặp lồng vào nhau. Mặc dù không phổ biến khi thấy một mảng có nhiều hơn 3 chiều và mảng 2D là những gì bạn sẽ thấy ở hầu hết các vị trí. Đó là một trong những cấu trúc dữ liệu hữu ích nhất trong thế giới lập trình. Bạn có thể sử dụng mảng hai chiều để làm cho máy trạng thái hữu hạn (FSM) giải quyết các vấn đề dựa trên trạng thái, bạn có thể sử dụng mảng 2D để tạo các trò chơi cờ như Cờ vua, Sudoku và Tic-Tac-To và thậm chí bạn có thể sử dụng mảng hai chiều . g. Tetris, Super Mario Bros, v.v. Bất cứ thứ gì bạn nhìn thấy trên màn hình của mình không là gì ngoài một mảng 2D được điền bằng các ô xếp.

Để sử dụng mảng 2D, bạn phải biết cách điền và lặp lại mảng đó và đó là những gì bạn sẽ học trong bài viết này. Bạn có thể coi mảng hai chiều như một ma trận có hàng và cột, điều này giúp hình dung nội dung của mảng. Để lặp qua một mảng 2D, trước tiên chúng ta đi qua từng hàng, sau đó lặp lại từng cột trong mỗi hàng. Đó là lý do tại sao chúng ta cần hai vòng lặp lồng vào nhau.

Bất cứ lúc nào, nếu bạn muốn thoát khỏi vòng lặp lồng nhau, bạn có thể sử dụng câu lệnh break. Nếu bạn hoàn toàn là người mới bắt đầu và mới bắt đầu lập trình, tôi khuyên bạn nên đọc Lập trình Head First trước. Khi bạn xem qua cuốn sách, hầu hết các khái niệm lập trình. g. mảng, chuỗi, một vectơ sẽ có ý nghĩa với bạn.


Chương trình Java lặp qua mảng 2D trong Java

Đây là một chương trình Java để lặp qua một mảng hai chiều trong Java bằng cách sử dụng vòng lặp for truyền thống. Mặc dù không cần thiết phải sử dụng vòng lặp for, bạn thậm chí có thể sử dụng vòng lặp while hoặc vòng lặp for nâng cao trong Java, nên bắt đầu với cấu trúc lập trình đơn giản nhất này



Trong ví dụ này, đầu tiên chúng ta tạo một mảng 2 chiều có kích thước 4x4, có nghĩa là 4 hàng và 4 cột. Sau đó, chúng tôi đã lặp lại nó hai lần, lần đầu tiên để điền vào mảng các giá trị nguyên và lần thứ hai để đi qua từng chỉ mục và in các giá trị của chúng.

Không cần bắt đầu lặp từ phần tử đầu tiên e. g. [0, 0] là hàng đầu tiên và cột đầu tiên nhưng nếu bạn muốn chạm vào mọi phần tử thì đây là nơi thích hợp để bắt đầu.

Đây là mã để lặp qua mảng 2D trong Java.

 for (int row = 0; row < board.length; row++) {
    for (int col = 0; col < board[row].length; col++) {
       board[row][col] = row * col;
    }
 }

Bạn có thể thấy rằng vòng lặp bên ngoài đi qua từng hàng và vòng lặp bên trong đi qua từng cột, theo cách này chúng ta sẽ đi qua tất cả các phần tử. Trong lần lặp đầu tiên, tất cả các phần tử của hàng đầu tiên được xử lý, giống như lặp trên mảng một chiều.

Đây là chương trình hoàn chỉnh.

Python lặp lại mảng 2d với chỉ mục



Lặp lại một mảng 2D trong Java - Ví dụ


/**
 * Java Program to demonstrate how to loop over two-dimensional array.
 * We first loop to populate the array and later to print values. 
 * 
 * @author WINDOWS 8
 */
public class TwoDimensionalArrayDemo{

    public static void main(String args[]) {

        // let's create board of 4x4
        int[][] board = new int[4][4];

        // let's loop through array to populate board
        for (int row = 0; row < board.length; row++) {
            for (int col = 0; col < board[row].length; col++) {
                board[row][col] = row * col;
            }
        }

        // let's loop through array to print each row and column
        for (int row = 0; row < board.length; row++) {
            for (int col = 0; col < board[row].length; col++) {
                board[row][col] = row * col;
                System.out.print(board[row][col] + "\t");
            }
            System.out.println();
        }
    }

}

Đầu ra.
______2



BTW, Java không thực sự có mảng đa chiều, thay vào đó, bạn có mảng của mảng (của mảng. ). Vì vậy, nếu bạn muốn lặp qua mảng đầu tiên, bạn yêu cầu "board[0]. length" , nếu bạn muốn lặp qua mảng thứ hai, bạn yêu cầu "board[1]. độ dài" .

Như tôi đã nói với bạn, mảng nhiều chiều là một trong những cấu trúc dữ liệu phổ biến và có thể được sử dụng để biểu diễn các trò chơi trên bàn cờ như Cờ vua, Ludo, Sudoku, Tetris và cũng hữu ích không kém để vẽ địa hình . Trên thực tế, nó là một trong những cấu trúc dữ liệu hữu ích nhất trong lập trình trò chơi. Một cách sử dụng tự nhiên khác của mảng nhiều chiều là trong toán học ma trận. g. nhân ma trận, cộng hai ma trận, ma trận chuyển vị, v.v.


Bạn có thể mở rộng kỹ thuật này để lặp qua mảng nhiều chiều trong Java. Bạn sẽ chỉ cần nhiều vòng lặp như nhiều thứ nguyên mà mảng của bạn có. Hãy nhớ rằng, bạn có thể khai báo mảng hai chiều trong Java mà không cần chỉ định độ dài của chiều thứ hai.


Các bài viết khác về Java mà bạn có thể thích

  • Những điều mà mọi nhà phát triển Java nên biết về Array (xem tại đây)
  • 22 Khái niệm mảng Câu hỏi phỏng vấn trong Java (xem tại đây)
  • Làm cách nào để in các giá trị mảng trong Java?
  • Làm cách nào để so sánh hai mảng trong Java?