Day18 -- Java数组02
1. 数组的使用
- 普通的For循环
- For-Each循环
- 数组作方法入参
- 数组作返回值
例子:
public class ArrayDemo04 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
//JDK 1.5及以上,没有下标
// for (int array : arrays) {
// System.out.println(array); //适合循环输出,操作不如下标方便
// }
//printArray(arrays);
int[] reverse = reverseArray(arrays);
printArray(reverse);
}
//打印数组元素
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+" ");
}
}
//反转数组
public static int[] reverseArray(int[] arrays){
int[] result = new int[arrays.length];
//反转数组
for(int i = 0, j = result.length-1; i < arrays.length; i++, j--){
result[j] = arrays[i];
}
return result;
}
}
2.多维数组
理解多维数组的构成
3. Arrays类
-
数组的工具类java.util.Arrays
-
由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays,从而可以对数据对象进行一些基本的操作。 --> 参考JDK帮助文档
-
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(不是不能)
-
具有以下常用功能
- 给数组赋值:通过fill方法
- 对数组排序:通过sort方法,按升序
- 比较数组:通过equals方法比较数组中元素值是否相等
- 查找数组元素:通过binarySearch方法能对排序号的数组进行二分查找法操作
//Arrays的常用功能用法 //1.给数组赋值:fill int[] a = new int[10]; int[] b = new int[10]; Arrays.fill(a,0); //数组所有元素填充0 Arrays.fill(a,2,5,0); //数组从下标为2到4的元素都填充为0 //2.对数组排序 Arrays.sort(a); //默认按大小升序排列数组 Arrays.sort(a,1,4); //将数组第2到第5个元素按升序排列 //3.比较数组 boolean isEqual = Arrays.equals(a,b); //判断两个数组是否相等(长度不一 return false) //4.查找数组元素 int index = Arrays.binarySearch(a, 17); //返回匹配元素的index;若未找到则返回-1 int index2 = Arrays.binarySearch(a, 3, 9, 17); //查找数组第4到第10个元素中是否有匹配的值,返回下标