Java数组常见操作
文章目录
7.0 数组的遍历
1.使用foreach循环访问数组中每个元素。
public class array {
public static void main(String[] args){
int[] intArray = {1,2,3,4,5};
for(int i : intArray){
System.out.println(i);
}
}
}
2.使用简单的for循环(多层循环嵌套)来遍历数组。
public class array {
public static void main(String[] args){
char charArray_1[][] = new char[][]{{'龙','队','y','y','d','s'},{'小','胖','也','很','厉','害'}};
for(int i=0;i<charArray_1.length;i++){
for(int j=0;j<charArray_1[i].length;j++){
System.out.println(charArray_1[i][j]);
}
}
}
}
7.1 数组长度
多维数组也可以具有length属性,例如二维数组int array[][],array.length表示行长度,array[i].length表示列长度。
public class array {
public static void main(String[] args){
char charArray_1[][] = new char[][]{{'龙','队','y','y','d','s'},{'小','胖','也','很','厉','害'}};
for(int i=0;i<charArray_1.length;i++){
for(int j=0;j<charArray_1[i].length;j++){
System.out.println(charArray_1[i][j]);
}
}
}
}
7.2 向数组中添加元素
Arrays类中提供了可以给数组批量添加相同元素的静态方法fill(),调用时入参为被添加的元素的数组和要添加的数值。fill()方法支持Java中所以的基本类型和引用类型。
fill()方法也可以指定数组要添加的元素的索引范围(左闭右开区间),入参是起始索引和终点索引。
import java.util.Arrays;
public class array {
public static void main(String[] args){
int[] emptyArray = new int[4];
Arrays.fill(emptyArray,10);
//Arrays.fill(emptyArray,1,3,10);
System.out.println(Arrays.toString(emptyArray));
}
}
7.3 数组查找
-
使用for循环来遍历数组。
-
Arrays提供了binarySearch()方法,采用二分法,能够找到指定元素在数组中的位置,若无法找到,则返回-1。
import java.util.Arrays;
public class array {
public static void main(String[] args){
char[] charArray = {'龙','队','y','y','d','s'};
System.out.println(Arrays.binarySearch(charArray, 'y'));
}
}
7.4 数组排序
Arrays.sort()使用了双轴快速排序算法。
import java.util.Arrays;
public class array {
public static void main(String[] args){
char[] charArray = {'龙','队','y','y','d','s'};
Arrays.sort(charArray);
System.out.println(charArray);
}
}
7.5 数组复制
Arrays类中提供了数组复制的方法copyOf(),其入参除了要复制的数组之外,还要提供复制后数组的长度。
-
如果复制后数组长度大于原来数组的长度,则会填充数值的默认值。如int填充0,String填充null等;
-
如果复制后数组长度小于原来数组的长度,则进行数组的截取。
import java.util.Arrays;
public class array {
public static void main(String[] args){
char[] charArray = {'龙','队','y','y','d','s'};
char[] copyArray = Arrays.copyOf(charArray,4);
System.out.println(copyArray);
}
}
7.6 数组比较
Arrays类提供了重载后的equals()方法,用来比较两个数组的内容是否相同,返回布尔类型的值。
import java.util.Arrays;
public class array {
public static void main(String[] args){
char[] charArray = {'龙','队','y','y','d','s'};
char[] copyArray = Arrays.copyOf(charArray,4);
System.out.println(Arrays.equals(copyArray,charArray));
}
}