Java基础:数组的长度、数组的复制
本文将给大家介绍数组的长度和数组复制方面的内容。
数组长度
在Java 中,数组长度是指一个数组可以容纳的元素个数,没有预定义的方法来获取数组的长度,我们可以通过使用数组属性length 来取到 Java 中的数组长度。
array.length:length 是适用于数组的 final 变量,借助于长度变量,我们可以获得数组的大小。
代码示例:
int[] a1 = new int[8];
int lengthOfA1 = a1.length;
在给定的代码片段中,a1是一个int类型的数组,容量为8 个条目,lengthOfA1是一个跟踪数组长度的变量,我们使用数组名称a1后跟点. 运算符和长度属性来确定数组的大小。
数组复制
数组复制在真实的开发中会经常遇到,复制数组的方法一般分为三种情况:使用for循环,使用clone方法,使用arraycopy方法。
for循环
使用for循环复制数组时,就可以使用数组的长度属性了。
我们先直接上代码:
String[] a1 = {"java", "Spring", "SpringBoot", "MySQL"};
String[] a2 = new String[a1.length];
for (int i = 0; i < a1.length; i++) {
a2[i] = a1[i];
}
由代码可知,新建了一个字符串的数组a1,数组中有4个字符串:
- “java”
- “Spring”
- “SpringBoot”
- “MySQL”
然后新建了一个和a1一样长度的数组a2,遍历a1数组,将a1相同坐标的数据赋值给a2相同坐标,这样就实现了数组之间的拷贝。
clone方法
Object.clone()继承自数组中的Object类。
我们使用 clone 方法复制一个基本类型数组:
String[] a1 = {"java", "Spring", "SpringBoot", "MySQL"};
String[] a2 = a1.clone();
它们在克隆后具有相同的内容,但它们持有不同的引用,因此其中一个的任何更改都不会影响另一个。
另一方面,如果我们使用相同的方法克隆一个非基本类型的数组,那么结果将不同。
arraycopy方法
在 Java 中,System 类包含一个名为arraycopy()复制数组的方法。与上述两种方法相比,此方法是一种更好的复制数组的方法。
arraycopy()方法允许您将源数组的指定部分复制到目标数组:
arraycopy(Object src, int srcPos,Object dest, int destPos, int length)
- src:要复制的源数组
- srcPos:源数组中的起始位置(索引)
- dest:将从源中复制元素的目标数组
- destPos:目标数组中的起始位置(索引)
- length:要复制的元素数
我们举个例子:
String[] a1 = {"java", "Spring", "SpringBoot", "MySQL"};
String[] a2 = new String[4];
System.arraycopy(a1, 0, a2, 0, a1.length);
总结
本文给大家介绍了Java中数组的长度、以及如何复制数组,其中比较推荐的是使用arraycopy方法。
- 点赞
- 收藏
- 关注作者
评论(0)