← 返回首页
JavaSE系列教程(十二)
发表时间:2019-12-04 16:02:59
讲解Java数组的常见操作:遍历、排序、获取最大和最小元素、反转等。

数组常见的操作有:遍历、排序、获取最大和最小元素、反转等。

1.数组遍历

例如:

int[] arr = {23,14,56,9,10,7,33,47,21,20,18,17,55,63};

for(int i=0;i<arr.length;i++){
    System.out.print(arr[i]+" ");
}

//或者使用foreach循环
for(int n: arr) {
    System.out.print(n+" ");
}

输出结果:
23 14 56 9 10 7 33 47 21 20 18 17 55 63

==注意:在数组的操作时尽量避免出现ArrayIndexOutOfBoundsException和NullPointerException==

例如:

int[] arr = {23,14,56,9,10,7,33,47,21,20,18,17,55,63};

for(int i=0;i<=arr.length;i++){
    System.out.print(arr[i]+" ");  //由于循环条件误写为:i<=arr.length,最后异常循环时会抛出ArrayIndexOutOfBoundsException异常。
}

int[] arr = {23,14,56,9,10,7,33,47,21,20,18,17,55,63};

arr=null;
for(int i=0;i<=arr.length;i++){
    System.out.print(arr[i]+" ");  //由于arr=null并不指向任何对象,打印元素时会抛出NullPointerException
}

2.数组的排序

数组常见的排序算法有很多,比如:冒泡排序、选择排序、插入排序、快速排序、堆排序等等。研究各种排序算法在《数据结构与算法》这门课程中的有专门的章节讲解。我们现在实现排序功能得力于站在巨人的肩膀,通过调用Java内部的API即可实现。实现数组排序功能的工具类是java.util.Arrays;

实现代码:

int[] arr = {23,14,56,9,10,7,33,47,21,20,18,17,55,63};

Arrays.sort(arr);

for(int i=0;i<arr.length;i++){
    System.out.print(arr[i] + " ");
}

运行结果:
7 9 10 14 17 18 20 21 23 33 47 55 56 63 

3.获取最大和最小元素

升序排序后的数组自然可以很轻松的获得最小元素arr[0] 和最大元素arr[arr.length-1]。

4.数组的反转

所谓数组的反转就是将数组中的元素颠倒顺序,例如原始数组为1,2,3,4,5,反转后的数组为5,4,3,2,1。

实例:

int[] arr = {23,14,56,9,10,7,33,47,21,20,18,17,55,63};

for(int i=0;i<arr.length/2;i++){
    int temp;
    temp = arr[i];
    arr[i]=arr[arr.length-1-i];
    arr[arr.length-1-i] = temp;
}

System.out.println("-----------反转之后-----------");
for(int n: arr){
    System.out.print(n+" ");
}

运行结果:
-----------反转之后-----------
63 55 17 18 20 21 47 33 7 10 9 56 14 23