欢迎访问宙启技术站
智能推送

Java数组函数的常见用法总结

发布时间:2023-06-06 13:36:07

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数组。