将截取一部分旧数组中的元素,复制给新数组,
反之,如果大于旧数组的长度,则将以
0
,
null
,或
false
给予补充。
例:快速复制数组?
public class Practice{
public static void main(String[] args){
String[] a = {"a","d","e","w","f"};
String[] b = new String[4];
String[] c = new String[5];
String[] d = new String[6];
b = Arrays.copyOf(a, b.length);
c = Arrays.copyOf(a, c.length);
d = Arrays.copyOf(a, d.length);
System.out.println("b
数组的元素:
" + Arrays.asList(b));
System.out.println("c
数组的元素:
" + Arrays.asList(c));
System.out.println("d
数组的元素:
" + Arrays.asList(d));
}
}
运行结果为:
b
数组的元素:
[a, d, e, w]
c
数组的元素:
[a, d, e, w, f]
d
数组的元素:
[a, d, e, w, f, null]
八、
Arrays.copyOfRange()
用法,这个方法与前面介绍的
Arrays.copyOf()
的用法相似,下面来通过具体实例讲
解。
例:如何将原数组指定复制一个新数组?
public class Practice{
public static void main(String[] args){
String[] a = {"a","d","e","w","f"};
String[] b = new String[4];
b = Arrays.copyOfRange(a, 2, 4);
System.out.println("b
数组的元素:
" + Arrays.asList(b));
}
}
运行结果为:
b
数组的元素:
[e, w];
相信读者已知道其中用法了吧,
type[] N = Arrays.copyofRange("
原数组
",i,j)
就是复制原数组赋值给新的数组
N,
指定从索引
i
到
j;
九、
Arrays.deepToString()
用法,这个方法的用法同
Arrays.asList()
的用法相似
,
此方法是为了将多维数组转换
为字符串而设计的;
下面通过例子来看一下它们的相同点。
例:输出已知数组
a
中的元素。
public class Practice{
public static void main(String[] args){
String[] a = {"a","d","e","w","f"};
System.out.println("
用
Arrays.asList()
方法输出:
" + Arrays.asList(a));
System.out.println("
用
Arrays.deepToString()
方法输出:
" + Arrays.deepToString(a));;
}
}
运行结果为:
用
Arrays.asList()
方法输出:
[a, d, e, w, f]
。
用
Arrays.deepToString()
方法输出:
[a, d, e, w, f]
。
十、
Arrays.deepEquals()
的用法。
说明:此方法与
Arrays.equals(Object[],Object[])
方法不同,此方法适用于任意深度的嵌套数组。
如果两个数组引用均为
null
,或者它们引用了包含相同元素数量的数组,并且两个数组中的所
有相应元素对都是深层相等的,则认为这两个数组引用是深层相等的。
例:已知三个三维数组间的比较。
public class Practice{
public static void main(String[] args){
String[][][] d = new String[2][2][2];