填充数组
来源:互联网 发布:风暴大陆神兵进阶数据 编辑:程序博客网 时间:2024/04/29 11:29
Java 标准类库 Arrays 也有 fill()方法,但是它作用有限。只能用同一个值填充各个位置,
对于保存对象的数组,就是复制同一个引用进行填充。使用 Arrays2.toString()方法,很
容易证明这一点:
//: c11:FillingArrays.java
// Using Arrays.fill()
import com.bruceeckel.simpletest.*;
import com.bruceeckel.util.*;
import java.util.*;
public class FillingArrays {
private static Test monitor = new Test();
public static void main(String[] args) {
int size = 6;
// Or get the size from the command line:
if(args.length != 0)
size = Integer.parseInt(args[0]);
boolean[] a1 = newboolean[size];
byte[] a2 = newbyte[size];
char[] a3 = newchar[size];
short[] a4 = new short[size];
int[] a5 = new int[size];
long[] a6 = newlong[size];
float[] a7 = new float[size];
double[] a8 = newdouble[size];
String[] a9 = new String[size];
Arrays.fill(a1, true);
System.out.println("a1 = " + Arrays2.toString(a1));
Arrays.fill(a2, (byte)11);
System.out.println("a2 = " + Arrays2.toString(a2));
Arrays.fill(a3, 'x');
System.out.println("a3 = " + Arrays2.toString(a3));
Arrays.fill(a4, (short)17);
System.out.println("a4 = " + Arrays2.toString(a4));
Arrays.fill(a5, 19);
System.out.println("a5 = " + Arrays2.toString(a5));
Arrays.fill(a6, 23);
System.out.println("a6 = " + Arrays2.toString(a6));
Arrays.fill(a7, 29);
System.out.println("a7 = " + Arrays2.toString(a7));
Arrays.fill(a8, 47);
System.out.println("a8 = " + Arrays2.toString(a8));
Arrays.fill(a9, "Hello");
System.out.println("a9 = " + Arrays.asList(a9));
// Manipulating ranges:
Arrays.fill(a9, 3, 5, "World");
System.out.println("a9 = " + Arrays.asList(a9));
monitor.expect(new String[] {
"a1 = [true, true, true, true, true, true]",
"a2 = [11, 11, 11, 11, 11, 11]",
"a3 = [x, x, x, x, x, x]",
"a4 = [17, 17, 17, 17, 17, 17]",
"a5 = [19, 19, 19, 19, 19, 19]",
"a6 = [23, 23, 23, 23, 23, 23]",
"a7 = [29.0, 29.0, 29.0, 29.0, 29.0, 29.0]",
"a8 = [47.0, 47.0, 47.0, 47.0, 47.0, 47.0]",
"a9 = [Hello, Hello, Hello, Hello, Hello, Hello]",
"a9 = [Hello, Hello, Hello, World, World, Hello]"
});
}
} ///:~
使用 Arrays.fill()可以填充整个数组,或者像最后两条语句所示,只填充数组的某个区域。
不过使用 Arrays.fill()你只能提供单个值用来填充,而使用 Arrays2.fill()则可以生成更多
对于保存对象的数组,就是复制同一个引用进行填充。使用 Arrays2.toString()方法,很
容易证明这一点:
//: c11:FillingArrays.java
// Using Arrays.fill()
import com.bruceeckel.simpletest.*;
import com.bruceeckel.util.*;
import java.util.*;
public class FillingArrays {
private static Test monitor = new Test();
public static void main(String[] args) {
int size = 6;
// Or get the size from the command line:
if(args.length != 0)
size = Integer.parseInt(args[0]);
boolean[] a1 = newboolean[size];
byte[] a2 = newbyte[size];
char[] a3 = newchar[size];
short[] a4 = new short[size];
int[] a5 = new int[size];
long[] a6 = newlong[size];
float[] a7 = new float[size];
double[] a8 = newdouble[size];
String[] a9 = new String[size];
Arrays.fill(a1, true);
System.out.println("a1 = " + Arrays2.toString(a1));
Arrays.fill(a2, (byte)11);
System.out.println("a2 = " + Arrays2.toString(a2));
Arrays.fill(a3, 'x');
System.out.println("a3 = " + Arrays2.toString(a3));
Arrays.fill(a4, (short)17);
System.out.println("a4 = " + Arrays2.toString(a4));
Arrays.fill(a5, 19);
System.out.println("a5 = " + Arrays2.toString(a5));
Arrays.fill(a6, 23);
System.out.println("a6 = " + Arrays2.toString(a6));
Arrays.fill(a7, 29);
System.out.println("a7 = " + Arrays2.toString(a7));
Arrays.fill(a8, 47);
System.out.println("a8 = " + Arrays2.toString(a8));
Arrays.fill(a9, "Hello");
System.out.println("a9 = " + Arrays.asList(a9));
// Manipulating ranges:
Arrays.fill(a9, 3, 5, "World");
System.out.println("a9 = " + Arrays.asList(a9));
monitor.expect(new String[] {
"a1 = [true, true, true, true, true, true]",
"a2 = [11, 11, 11, 11, 11, 11]",
"a3 = [x, x, x, x, x, x]",
"a4 = [17, 17, 17, 17, 17, 17]",
"a5 = [19, 19, 19, 19, 19, 19]",
"a6 = [23, 23, 23, 23, 23, 23]",
"a7 = [29.0, 29.0, 29.0, 29.0, 29.0, 29.0]",
"a8 = [47.0, 47.0, 47.0, 47.0, 47.0, 47.0]",
"a9 = [Hello, Hello, Hello, Hello, Hello, Hello]",
"a9 = [Hello, Hello, Hello, World, World, Hello]"
});
}
} ///:~
使用 Arrays.fill()可以填充整个数组,或者像最后两条语句所示,只填充数组的某个区域。
不过使用 Arrays.fill()你只能提供单个值用来填充,而使用 Arrays2.fill()则可以生成更多
有趣的结果。
- 填充数组
- RandArr 随机数填充数组
- openjudge 蛇形填充数组
- 二维数组螺旋填充
- 蛇形填充数组
- 蛇形填充数组
- ruby数组填充方法
- 蛇形填充数组
- 数组填充方法
- 数组填充 fillArray
- 蛇形填充数组
- 24:蛇形填充数组
- 使用数组快速填充Excel
- 填充Z形二维数组
- 关于memset初始化填充数组。
- java填充替换数组元素
- java数组——填充数组
- 指针数组、数组指针、memset填充问题
- 欧拉回路问题(算法导论22.2-8 和22-3)
- 敏捷开发整理
- Arrays 类
- LBS:附近搜索(geohash算法:经纬度编码搜索)
- Hadoop NameNode启动之HeartbeatMonitor ( 五)
- 填充数组
- Linux中/proc/[pid]/status详细说明
- 求职准备
- 复制数组
- C 语言中的static
- 【进制转换】安卓应用详细信息
- CopyTool
- mysql编码设置
- MOVE模型