数组常见的操作有:遍历、排序、获取最大和最小元素、反转等。
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