首页  >  文章  >  Java  >  Java 中的多维数组

Java 中的多维数组

WBOY
WBOY原创
2024-08-30 15:27:381028浏览

Java 多维数组的完整指南。数组是同质数据多维结构,是具有相似数据类型的元素的集合。它们存储在连续的内存位置中。在数组中,第一个元素存储在索引 0 中;第二个元素存储在索引 1 中,依此类推。数组可以是单维或多维的。在本文档中,我们将研究 Java 中的多维数组。多维数组是可以容纳多个行和列的数组的数组。现在,让我们在以下部分中了解多维数组的语法和实现。

广告 该类别中的热门课程 JAVA 掌握 - 专业化 | 78 课程系列 | 15 次模拟测试

语法:

data_type[dimension 1][dimension 2][]…[dimension n] array_name= new data_type[size 1][size 2]…[size n]
  • data_type:数组的数据类型,示例: int、char、float 等
  • 维度:数组的维度,示例: 1D、2D 等
  • array_name:数组的名称。
  • size1, size2, …, sizeN:维度的大小。

Java 中多维数组的类型

Java 中最常见的多维数组是:

  • 二维数组或二维数组。
  • 三维数组或 3D 数组。

1.二维数组

二维数组通常用于超级马里奥等平台视频游戏中来表示地形或屏幕。它们还可以用于绘制棋盘、表示电子表格等结构。

代码

int[][] array1 = new int[2][2];//Two dimensional Integer Array with 2 rows and 2 columns

示例

9  10

7  66

这是一个两行两列的二维数组。

2.三维数组

三维数组在实时应用程序中并不常用。因此,在编程示例中也更倾向于二维数组。

代码

int[][][] array2 = new int[12][24][36]; //Three dimensional Array

示例

6   8   66

66  65  47

46 89 98

如何在 Java 中声明多维数组?

如果知道普通数组,就很容易理解 Java 中的多维数组。多维数组可以如下声明:

首先让我们看一下二维数组的声明:

  • int[][] array1 = new int[2][2]; //2行2列的二维整数数组。
  • String[][] array1 = new String[2][2]; //2行2列的二维字符串数组。
  • char[][] array1 = new char[2][2]; //2行2列的二维char数组。
  • boolean[][] array1 = new boolean[2][2]; //2行2列的二维布尔数组。
  • double[][] array1 = new double[2][2]; //2行2列的二维双数组。
  • float[][] array1 = new float[2][2]; //2行2列的二维浮点数组。
  • long[][] array1 = new long[2][2]; //2行2列的二维长数组
  • short[][] array1 = new Short[2][2]; //2行2列的二维短数组。
  • byte[][] array1 = new byte[2][2]; //2行2列的二维字节数组。

确保在 Java 编程时创建正确的声明。

示例#1

代码:

//Java Program to demonstrate the multidimensional 2D array
public class MultidimensionalArray {
public static void main(String args[]){
//2D array a is declared and initialized
int a[][]={{2,2,3},{8,4,5},{9,4,5}};
//Print the array elements
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}}

输出:

Java 中的多维数组

三维数组的声明可以讨论。

  • int[][][] array2 = new int[12][24][36]; //三维数组

这些数组可以是任何数据类型。以下是一些具有不同数据类型的三维数组。

  • int [][][] IntArray; // 声明整数的三维数组。
  • byte[][][] ByteArray; // 声明三维字节数组。
  • short[][][] ShortArray; // 声明 Shorts 的三维数组。
  • long[][][] LongArray; // 声明 Long 的三维数组。
  • float[][][] FloatArray; // 声明 Floats 的三维数组。
  • double[][][] DoubleArray; // 声明 Double 的三维数组。
  • boolean[][][] BooleanArray; // 声明三维布尔数组。
  • char[][][] CharArray; // 声明 Chars 的三维数组。
  • String[][][] StringArray; // 声明三维字符串数组。

示例#2

代码:

//Java Program to demonstrate the multidimensional array
public class MultidimensionalArray {
//main method
public static void main(String[] args) {
//3D array arr
int[][][] arr = { { { 1 , -9 , 3 } ,{ 2 , 7 , 4 } } , { { -45 , -5 , 6 , 75 } , { 88 } , { 29 , 30 } } };
// for..each loop to iterate through the elements of the 3d array arr
for (int[][] ar: arr) {
for (int[] a: ar) {
for(int finalarray: a) {
System.out.println(finalarray);
}
}
}
}
}

输出:

Java 中的多维数组

如何在Java中初始化多维数组?

多维数组可以通过多种方式初始化:

1. Declare and Create a Java Multidimensional Array

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

In a more traditional way, Initializing Array elements can be as follows.

  • a[0][1][0] = 15; // Initializing Array elements at position [0][1][0]
  • a[1][2][0] = 45; // Initializing Array elements at position [1][2][0]
  • a[2][1][1] = 65; // Initializing Array elements at position [2][1][1]

2. Directly Specify the Elements

int[][][] a = { { { 11 , 23 , 30 }, { 5 ,65 , 70 } , { 0 , 80 , 10 } ,{ 10 , 12 , 450 } } ,{ { 33 , 2 , 4 } , {11, 66, 6}, {55, 11, 22}, {11, 57, 43} } };

In this case, even though the size of rows and columns are not mentioned, the java compiler is able to identify the size of rows and columns by counting the number of elements.

3. Nested For Loop

In the case of storing a large number of elements, Nested For Loop can be used as shown below:

int i, j, k;
for(i = 0; i < 2; i++) {
for(j = 0; j < 3; j++) {
for(k = 0; k < 4; k++) {
a[i][j][k] = i + j + k;} } }

4. Assigning Values to One Row

int a= new int[3][2][4];
a[0][2][1]= 33;
a[0][1][2]= 73;
a[0][1][1]= 88;

A three-dimensional array of size 3 levels * 2 rows * 4 columns is created, but values are assigned to some positions only. Since none of the other elements does have any value assigned, default values will be assigned.

Operations on Multidimensional Arrays

Multidimensional Array in Java can perform several operations.

Example #1

Let Us See the Matrix Addition of Two Arrays.

Code:

import java.util.*;
//Java Program to demonstrate the multidimensional array
public class MultidimensionalArray {
//main method
public static void main(String args[])
{
int row, col, c, d;
//input the number of rows and columns
Scanner <u>in</u> = new Scanner(System.in);
System.out.println("Enter the number of rows of matrix");
row = in.nextInt();
System.out.println("Enter the number of columns of matrix");
col  = in.nextInt();
//initialization of two matrices and sum matrix
int firstmat[][] = new int[row][col];
int secondmat[][] = new int[row][col];
int summat[][] = new int[row][col];
//adding elements to first matrix
System.out.println("Enter the elements to be added to the first matrix");
for (c = 0; c < row; c++)
for (d = 0; d < col; d++)
firstmat[c][d] = in.nextInt();
//adding elements to second matrix
System.out.println("Enter the elements to be added to the second matrix");
for (c = 0 ; c < row ; c++)
for (d = 0 ; d < col ; d++)
secondmat[c][d] = in.nextInt();
//sum of the two matrices
for (c = 0; c < row; c++)
for (d = 0; d < col; d++)
summat[c][d] = firstmat[c][d] + secondmat[c][d];
System.out.println("Sum of the two given matrices is:");
//printing the sum matrix
for (c = 0; c < row; c++)
{
for (d = 0; d < col; d++)
System.out.print(summat[c][d]+"\t");
System.out.println();
}
}
}

Output:

Java 中的多维数组

If subtraction needs to be performed, replace ‘+’ with ‘-‘ in the code.

Example #2

Let us see how Matrix Multiplication Works.

Code:

import java.util.*;
//Java Program to perform matrix multiplication
public class MultidimensionalArray {
//main method
static int N = 4;
// multiply matrices a and b, and then stores the result in c
static void mul(int a[][],
int b[][], int c[][])
{
int i, j, k;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
c[i][j] = 0;
for (k = 0; k < N; k++)
c[i][j] += a[i][k] * b[k][j]; //multiply a and b matrices
}
}
}
//main method
public static void main (String[] args)
{
int a[][] = { {9, 7, 2, 3},
{9, 7, 2, 3},
{4, 13, 32, 2},
{9, 7, 2, 3}};
int b[][] = {{ 9, 7, 2, 3}, {9, 7, 2, 3},
{9, 7, 2, 3},
{4, 13, 32, 2}};
// Store the result in c
int c[][] = new int[N][N] ;
int i, j;
mul(a, b, c); //calling the mul method
System.out.println("Multiplication result matrix" + " is ");
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
System.out.print( c[i][j]  + " ");
System.out.println();
}
}
}

Output:

Java 中的多维数组

Conclusion

Arrays are homogenous data structures that can store similar types of elements. It can be of single-dimensional or multidimensional. In this document, multidimensional arrays are discussed with explaining the syntax structure, initialization, etc.

Recommended  Articles

This is a guide to Multidimensional Array in Java. Here we discuss 2 types of the multidimensional array in java, how to declare, how to initialize and operation in it. You can also go through our other related articles to learn more –

  1. Multidimensional Array in C
  2. 2D Arrays in Java
  3. 2D Arrays in C#
  4. Multidimensional Array in PHP

以上是Java 中的多维数组的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn