java不规则数组,3.10.7 不规则数组

3.10.7   不规则数组

到目前为止,读者所看到的数组与其他程序设计语言中提供的数组没有多大区别。但实际存在着一些细微的差异,而这正是Java的优势所在:Java实际上没有多维数组,只有一维数组。多维数组被解释为“数组的数组。”

例如,在前面的示例中,balances数组实际上是一个包含10个元素的数组,而每个元素又是一个由6个浮点数组成的数组(请参看图3-15)。

表达式balances[i]引用第i个子数组,也就是二维表的第i 行。它本身也是一个数组,balances[i][j]引用这个数组的第j项。

由于可以单独地存取数组的某一行,所以可以让两行交换。

8f36e51b7e0604c54c501859a59a0d16.png

还可以方便地构造一个“不规则”数组,即数组的每一行有不同的长度。下面是一个典型的示例。在这个示例中,创建一个数组,第i行第j列将存放“从i个数值中抽取j个数值”产生的结果。

d715df23be22513ab103bb8ce31cb39d.png

6c9f332c3b94f2e63a949e0c3cd12b6b.png

由于j不可能大于i,所以矩阵是三角形的。第i行有i + 1个元素(允许抽取0个元素,也是一种选择)。要想创建一个不规则的数组,首先需要分配一个具有所含行数的数组。

1938179fe7644481f36476edd9002ff2.png

接下来,分配这些行。

ca7514ef62cdb28b10b70262b1ef2d6e.png

在分配了数组之后,假定没有超出边界,就可以采用通常的方式访问其中的元素了。

ddcd3f02a5d968f9a6c0aa882cad5d07.png

程序清单3-9给出了完整的程序。

C++注释:在C++中,Java的声明

1fbf6331a0f71edd689f0f45dd7fd6ce.png

庆幸的是,当创建new double[10][6]时,这个循环将自动地执行。当需要不规则的数组时,只能单独地创建行数组。

程序清单3-9   LotteryArray/LotteryArray.java

58028cfef0fa84131e8d49477fcd6b4a.png

0404c32606ac41543f6b2e22b873f16f.png

现在,已经看到了Java语言的基本程序结构,下一章节将介绍Java中的面向对象的程序设计。

【责任编辑:book TEL:(010)68476606】

点赞 0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值