关于数组的个人理解

这是今天我在思考问题的时候理解到的关于三维数组甚至多维数组的理解。

我在网上看了很多,有很多种思维。

第一种理解思维:

一维可以理解成“由点堆积成的线”
二维可以理解成“线堆积成的正方形
三维可以理解成“正方形堆积成的正方体
四维可以理解成“正方体堆积成的超立方体

但是我认为这种理解虽然前面一目了然,但是到了多维数组的时候,理解有点抽象(原谅我脑子想象力不足),这种是用维度的世界来理解的,由于我们所处的是三维的世界,所以多维的想象不出来(因为认识度不够)。
比如如果纸有思想的话,他就会以为这是个二维的世界,而我们就会认为这是个三维的世界。

具体参照 百度百科

第二种思维:

一维数组就象一行字。 
二维数组就象一页字。 
三维数组就象一本书中的字。 
四维数组就象一套书中的字。 
五维数组就象书柜中多套书中的字。 
六维数组就象图书馆多个书柜多套书中的字。
七维数组是一个省中的所有图书馆藏书中的字。
维数组是一个城市的所有图书馆藏书中的字。
维数组是一个国家的所有图书馆藏书中的字。
维数组是一个洲所有国家的图书馆藏书中的字。
十一维数组是地球上所有国家的图书馆藏书中的字。

这是很现实的例子,很好理解,也能轻松理解多维,感觉有点包含、属于,然后由多个n维数组来集成一个n+1维数组

最后就是通过代码来理解:

class  OneDimensionalArray	//一维数组的输出
{
	public static void main(String[] args) 
	{
		int[] a={
			1,2,3
			};
			for (int y=0;y<a.length;y++)
			{
				System.out.print(a[y]+"\t");
			}
	}
}


class  TwoDimensionalArray	//二维数组的输出
{
	public static void main(String[] args) 
	{
		int[][] a={
			{1,2,3},
			{4,5,6}
			};
		for (int x=0;x<a.length;x++)
		{
			for (int y=0;y<a[x].length;y++)
			{
				System.out.print(a[x][y]+"\t");
			}
			System.out.println();
		}
	}
}


class  ThreeDimensionalArray	//三维数组的输出
{
	public static void main(String[] args) 
	{
		int[][][] a={
			{
				{1,2,3},
				{4,5,6}	},
			{
				{7,8,9},
				{10,11,12}	},
			{
				{13,14,15},
				{16,17,18}	}
			};
		for (int x=0;x<a.length;x++)
		{
			for (int y=0;y<a[x].length;y++)
			{
				for (int z=0;z<a[x][y].length;z++)
				{
					System.out.print(a[x][y][z]+"\t");
				}
				System.out.println();
			}
			System.out.println();
		}
	}
}

当数组定义之后,所有的数组元素都将分配到地址空间。由于大量占有内存的关系,二维或更多维数组较少使用。

在java中的数组可以不用定义列的宽度,也就是不用像C一样是个矩形。

举个上面二维数组输出的例子:

class  TwoDimensionalArray	//二维数组的输出
{
	public static void main(String[] args) 
	{
		int[][] a={
			{1,2,3},	//这里可以根据需要定义相同或不同的列宽
			{4,5,6,7,8},
			{9,10}
			};
		for (int x=0;x<a.length;x++)
		{
			for (int y=0;y<a[x].length;y++)
			{
				System.out.print(a[x][y]+"\t");
			}
			System.out.println();
		}
	}
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值