数组:
1、 声明数组的语法:数据类型[] 数组名
2、 初始化:数组类型[] 数组名=new 数据类型[元素个数];
替换旧的数组,换成新的数组,可以在使用new新建一个数组并初始化
强调:这种写法,中括号[]中一定不要写元素个数。
例如:char[] week={65,66,67,68,69,70,71};
Week=new char[]{‘日’,’一’,’二’,’三’,’四’,’五’,’六’};//表示抛弃旧的数组,重新指向新的数组,而新数组的内容就是大括号的内容
3、 获取数组的长度:调用数组的length属性。
语法:数组名.length
4、 数组复制:就是将数组中的某些连续的元素一次性复制到另一个数组的指定位置,替换目标数组中原位置的数据。
① 使用System.arraycopy()API可以实现数组的复制
语法:System.arraycopy(原数组,原数组中的开始下标,目标数组,目标数组中的开始下标,要复制的元素个数);
何时使用System.arraycopy():两个已有数组之间任意位置的复制,且复制不会超出数组的元素个数时。
②Arrays.copyOf方法用于复制
语法:Arrays.copyOf(源数组,新数组长度);
强调:必须引入java.util.Arrays包,可点左侧红叉自动引入。
何时使用Arrays.copyOf():没有目标数组或希望改变数组元素个数时。
特点:a.copyOf做了两件事:自动创建一个新数组;再使用System.arraycopy(),复制原数组中的元素到新数组中;
b.copyOf和array.copy最大的差别就是可以返回一个全新的数组。System.arraycopy()要求必须有目标数组;Arrays.copyOf()先自动创建新数组,再整体复制。
5、数组扩容:就是扩大容量。实质上是创建一个更大的新数组并将原数组的内容复制到新数组中。可以通过Arrays.copyOf()实现。
Arrays.copyOf()的特殊情况:
①.新数组元素长度(第二个值)<源数组中的元素个数:则截断旧数组,仅复制指定个数的元素;
②.新数组元素长度(第二个值)>源数组中的元素个数:则不但全部复制旧数组中的每个元素,而且空余元素自动用0或null填充。
新数组元素长度(第二个值)<源数组中的元素个数
原文地址:https://www.cnblogs.com/tianwenjing123-456/p/11371631.html