Java数组函数的常见用法总结
Java数组是一个最基本的数据结构,也是最常见的数据结构之一。Java数组函数也就显得尤为重要。本文将总结Java数组函数的常见用法,希望能够对初学者学习Java相关知识有所帮助。
1. 数组的声明方式
在Java中声明数组有两种方式:
- 方式一:声明数组的类型和数组名,后面加上中括号[],例如 int[] arr;
- 方式二:声明数组的类型、数组名、数组长度、以及每一个元素的值,例如 int[] arr={1,2,3,4,5};
需要注意的是,数组一旦声明后,其长度是不可改变的,但是数组中的元素值是可以修改的。
2. 数组元素的访问
访问数组元素需要用到下标,下标从0开始,例如访问数组arr中的 个元素可以使用arr[0]。如果数组下标越界,将会抛出ArrayIndexOutOfBoundsException异常。另外,可以使用数组的length属性来获取数组的长度。
3. 数组的遍历
数组的遍历有两种方式:
- 方式一:使用for循环遍历,如下所示:
int[] arr = new int[]{1,2,3,4,5};
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
- 方式二:使用foreach循环遍历,如下所示:
int[] arr = new int[]{1,2,3,4,5};
for(int n : arr){
System.out.println(n);
}
需要注意的是,foreach循环只能遍历数组,不能修改数组中的元素值。
4. 数组的复制
Java提供了两种方式对数组进行复制:
- 使用clone()方法复制数组,例如:
int[] arr = new int[]{1,2,3,4,5};
int[] arr_copy = arr.clone();
- 使用Arrays.copyOf()方法复制数组,例如:
int[] arr = new int[]{1,2,3,4,5};
int[] arr_copy = java.util.Arrays.copyOf(arr, arr.length);
需要注意的是,这两种方法都只能深复制一维数组,不能复制多维数组。
5. 数组的比较
Java提供了Arrays类来比较数组,可以使用Arrays.equals()方法比较两个数组是否相等,例如:
int[] arr1 = new int[]{1,2,3,4,5};
int[] arr2 = new int[]{1,2,3,4,5};
if(Arrays.equals(arr1, arr2)){
System.out.println("两个数组相等");
}else{
System.out.println("两个数组不相等");
}
需要注意的是,这种比较只能深比较一维数组,不能比较多维数组。
6. 数组的排序
Java提供了Arrays类来对数组进行排序,可以使用Arrays.sort()方法对数组进行排序,例如:
int[] arr = new int[]{3,1,4,6,2,5};
Arrays.sort(arr);
for(int n : arr){
System.out.println(n);
}
另外,对于自定义的类,可以实现Comparable接口来定义排序规则,例如:
class Person implements Comparable<Person>{
private String name;
private int age;
public Person(String name, int age){
this.name = name;
this.age = age;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
@Override
public int compareTo(Person p){
return this.age - p.getAge();
}
}
使用Arrays.sort()方法对Person类型的数组进行排序时,就会按照年龄从小到大进行排序。
7. 多维数组
Java中的多维数组其实就是数组中嵌套数组。例如,可以声明一个二维数组,如下所示:
int[][] arr = new int[][]{{1,2},{3,4,5}};
这个数组包含两个一维数组, 个一维数组包含元素1和2,第二个一维数组包含元素3、4和5。
多维数组的访问方式跟一维数组类似,只需要使用多个下标来访问嵌套的数组元素即可。
8. Arrays类的常用函数
Java提供了Arrays类来操作数组,这个类中包含了一些常用的函数,例如:
- Arrays.equals(arr1, arr2):比较两个数组是否相等;
- Arrays.toString(arr):将数组转化为字符串,方便输出;
- Arrays.fill(arr, value):将数组中的元素全部赋值为value;
- Arrays.sort(arr):对数组进行排序;
- Arrays.asList(arr):将数组转化为List类型;
- Arrays.copyOf(arr, length):复制数组,生成一个新的数组;
- Arrays.binarySearch(arr, key):查找指定元素在数组中的位置。
需要注意的是,这些函数的参数类型及返回值类型都跟数组相关,所以操作起来很方便。
综上所述,掌握这些Java数组函数的常见用法可以使我们更加高效地使用Java数组。
