- 遍历指的就是“通过循环遍历数组的所有元素”。
- 拷贝指的是将某个数组的内容拷贝到另一个数组中.
注:实质上,后面大家学容器的扩容就是“数组的拷贝”。
数组的遍历
数组元素下标的合法区间:[0, length-1]。我们可以通过下标来遍历数组中的元素,遍历时可以读取元素的值或者修改元素的值。
package array;
public class TestArrays03 {
public static void main(String[] args) {
int[] a={1,2,3,4,5};
//for循环遍历元素
//for(int i=0;i<a.length;i++){
//System.out.println(a[i]);
//}
//for-each循环遍历
//仅仅是遍历,不涉及下表操作,不能修改
for(int c:a){
System.out.println(c);
}
}
}
for-each专门用于读取数组或容器中所有的元素。
注意事项
- or-each增强for循环在遍历数组过程中不能修改数组中某元素的值.
- for-each仅适用于遍历,不涉及有关索引(下标)的操作。
数组拷贝
System.arraycopy(object src,int srcpos,object dest, int destpos,int length)
该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定 将src数组的多少个元素赋给dest数组的元素。
package array;
public class TestArraysCopy {
public static void main(String[] args) {
String[] s={"安徽","湖南","江西","浙江","江苏"};
String[] sBak=new String[6];
System.arraycopy(s,1,sBak,0,4);
for(int i=0;i<sBak.length;i++){
System.out.println(sBak[i]+"\t");
}
}
}
java.util.Arrays类
package array;
import java.util.Arrays;
public class TestArraysClass {
public static void main(String[] args) {
//数组排序
int[] a={1,67,3,56,7,5,0,243};
System.out.println(Arrays.toString(a));
//从小到大排序
Arrays.sort(a);
System.out.println(Arrays.toString(a));
//二分法查找,必须先排序
System.out.println("该元素的索引为:"+Arrays.binarySearch(a,56));
//数组填充,左闭右开
Arrays.fill(a,2,4,99);
System.out.println(Arrays.toString(a));
}
}