多维数组:4.5.1 多维数组
来源: 发布时间:星期四, 2009年2月12日 浏览:178次 评论:0
在Java里可以方便地创建多维 ![](/icons/95860shuzu.gif) :
//: MultiDimArray.java
// Creating multidimensional .gif' />s.
import java.util.*;
public MultiDimArray {
Random rand = Random ;
pRand( mod) {
Math.abs(rand.nextInt ) % mod + 1;
}
public void (String args) {
![](/icons/95860int.gif) ![](/icons/95860zhk2.gif) a1 = {
{ 1, 2, 3, },
{ 4, 5, 6, },
};
for( i = 0; i < a1.length; i )
for( j = 0; j < a1[i].length; j )
prt("a1[" + i + "][" + j +
"] = " + a1[i][j]);
// 3-D .gif' /> with fixed length:
![](/icons/95860int.gif) ![](/icons/95860zhk2.gif) ![](/icons/95860zhk2.gif) a2 = [2][2][4];
for( i = 0; i < a2.length; i )
for( j = 0; j < a2[i].length; j )
for( k = 0; k < a2[i][j].length;
k )
prt("a2[" + i + "][" +
j + "][" + k +
"] = " + a2[i][j][k]);
// 3-D .gif' /> with varied-length vectors:
![](/icons/95860int.gif) ![](/icons/95860zhk2.gif) ![](/icons/95860zhk2.gif) a3 = [pRand(7)]![](/icons/95860zhk2.gif) ;
for( i = 0; i < a3.length; i ) {
a3[i] = [pRand(5)] ;
for( j = 0; j < a3[i].length; j )
a3[i][j] = [pRand(5)];
}
for( i = 0; i < a3.length; i )
for( j = 0; j < a3[i].length; j )
for( k = 0; k < a3[i][j].length;
k )
prt("a3[" + i + "][" +
j + "][" + k +
"] = " + a3[i][j][k]);
// Array of non-primitive objects:
Integer![](/icons/95860zhk2.gif) a4 = {
{ Integer(1), Integer(2)},
{ Integer(3), Integer(4)},
{ Integer(5), Integer(6)},
};
for( i = 0; i < a4.length; i )
for( j = 0; j < a4[i].length; j )
prt("a4[" + i + "][" + j +
"] = " + a4[i][j]);
Integer![](/icons/95860zhk2.gif) a5;
a5 = Integer[3] ;
for( i = 0; i < a5.length; i ) {
a5[i] = Integer[3];
for( j = 0; j < a5[i].length; j )
a5[i][j] = Integer(i*j);
}
for( i = 0; i < a5.length; i )
for( j = 0; j < a5[i].length; j )
prt("a5[" + i + "][" + j +
"] = " + a5[i][j]);
}
void prt(String s) {
.out.pr ln(s);
}
} ///:~
用于打印 ![](/icons/95860de.gif) 代码里使用了length ![](/icons/95860dou.gif) 所以它不必依赖固定 ![](/icons/95860de.gif) ![](/icons/95860shuzu.gif) 大小 ![](/icons/95860dou2.gif) 第 ![](/icons/95860yi.gif) 个例子展示了基本数据类型 ![](/icons/95860de.gif) ![](/icons/95860yi.gif) 个多维 ![](/icons/95860shuzu.gif) ![](/icons/95860dou2.gif) 我们可用花括号定出 ![](/icons/95860shuzu.gif) 内每个矢量 ![](/icons/95860de.gif) 边界: ![](/icons/95860int.gif) ![](/icons/95860zhk2.gif) ![](/icons/95860zhk2.gif) a1 = { { 1, 2, 3, }, { 4, 5, 6, }, }; 每个方括号对都将我们移至 ![](/icons/95860shuzu.gif) ![](/icons/95860de.gif) 下 ![](/icons/95860yi.gif) 级 ![](/icons/95860dou2.gif) 第 2个例子展示了用 ![](/icons/95860new.gif) 分配 ![](/icons/95860de.gif) ![](/icons/95860yi.gif) 个 3维 ![](/icons/95860shuzu.gif) ![](/icons/95860dou2.gif) 在这里 ![](/icons/95860dou.gif) 整个 ![](/icons/95860shuzu.gif) 都是立即分配 ![](/icons/95860de.gif) : ![](/icons/95860int.gif) ![](/icons/95860zhk2.gif) ![](/icons/95860zhk2.gif) ![](/icons/95860zhk2.gif) a2 = ![](/icons/95860int.gif) [2][2][4]; 但第 3个例子却向大家揭示出构成矩阵 ![](/icons/95860de.gif) 每个矢量都可以有任意 ![](/icons/95860de.gif) 长度:
![](/icons/95860int.gif) ![](/icons/95860zhk2.gif) ![](/icons/95860zhk2.gif) a3 = [pRand(7)]![](/icons/95860zhk2.gif) ;
for( i = 0; i < a3.length; i ) {
a3[i] = [pRand(5)] ;
for( j = 0; j < a3[i].length; j )
a3[i][j] = [pRand(5)];
}
对于第 ![](/icons/95860yi.gif) 个 ![](/icons/95860new.gif) 创建 ![](/icons/95860de.gif) ![](/icons/95860shuzu.gif) ![](/icons/95860dou.gif) 它 ![](/icons/95860de.gif) 第 ![](/icons/95860yi.gif) 个元素 ![](/icons/95860de.gif) 长度是随机 ![](/icons/95860de.gif) ![](/icons/95860dou.gif) 其他元素 ![](/icons/95860de.gif) 长度则没有定义 ![](/icons/95860dou2.gif) for循环内 ![](/icons/95860de.gif) 第 2个 ![](/icons/95860new.gif) 则会填写元素 ![](/icons/95860dou.gif) 但保持第 3个索引 ![](/icons/95860de.gif) 未定状态——直到碰到第 3个 ![](/icons/95860new.gif) ![](/icons/95860dou2.gif) 根据输出结果 ![](/icons/95860dou.gif) 大家可以看到:假若没有明确指定 ![](/icons/95860chushi.gif) 化值 ![](/icons/95860dou.gif) ![](/icons/95860shuzu.gif) 值就会自动 ![](/icons/95860chushi.gif) 化成零 ![](/icons/95860dou2.gif) 可用类似 ![](/icons/95860de.gif) 表式处理非基本类型对象 ![](/icons/95860de.gif) ![](/icons/95860shuzu.gif) ![](/icons/95860dou2.gif) 这从第 4个例子可以看出 ![](/icons/95860dou.gif) 它向我们演示了用花括号收集多个 ![](/icons/95860new.gif) 表达式 ![](/icons/95860de.gif) 能力:
Integer![](/icons/95860zhk2.gif) a4 = {
{ Integer(1), Integer(2)},
{ Integer(3), Integer(4)},
{ Integer(5), Integer(6)},
};
第 5个例子展示了如何逐渐构建非基本类型 ![](/icons/95860de.gif) 对象 ![](/icons/95860shuzu.gif) :
Integer![](/icons/95860zhk2.gif) a5;
a5 = Integer[3] ;
for( i = 0; i < a5.length; i ) {
a5[i] = Integer[3];
for( j = 0; j < a5[i].length; j )
a5[i][j] = Integer(i*j);
}
i*j只是在Integer里置了 ![](/icons/95860yi.gif) 个有趣 ![](/icons/95860de.gif) 值
相关文章
读者评论
发表评论
|
|