自定义一个操作int[]的工具类。
涉及到的方法有:求最大值、最小值、总和、平均数、遍历数组、复制数组、数组反转\数组排序(默认从小到大排序)、查找等。
package com.atguigu01._static.exer2;
/**
* 求最大值,最小值,总和, 平均数, 遍历数组, 复制数组, 数组反转, 数组排序(从小到大), 查找
*/
public class MyArrays {
// 使用static修饰符就可以直接用类调用,而不用单独创建一个实例,
// 也有static的考察
/**
* 获取int[] 数组的最大值
* @param arr
* @return
*/
public static int getMax(int[] arr){
int max = arr[0];
for (int i = 1; i < arr.length; i++){
if (arr[i] > max) max = arr[i];
}
return max;
}
/**
* 获取int[]数组的最小值
* @param arr
* @return
*/
public static int getMin(int[] arr){
int min = arr[0];
for (int i = 1; i < arr.length; i++){
if (arr[i] < min) min = arr[i];
}
return min;
}
/**
* 求和
* @param arr
* @return
*/
public static int getSum(int[] arr){
int sum = 0;
for (int i = 0; i < arr.length; i++){
sum += arr[i];
}
return sum;
}
/**
* 求平均
* @param arr
* @return
*/
public static int getAvg(int[] arr){
return getSum(arr) / arr.length;
}
/**
* 打印数组
* @param arr
*/
public static void print(int[] arr){
System.out.println("[");
for (int i = 0; i < arr.length; i++){
if (i == 0) System.out.println(arr[i]);
else System.out.println("," + arr[i]);
}
System.out.println("]");
}
/**
* 复制数组
* @param arr
* @return
*/
public static int[] copy(int[] arr){
int[] newArr = new int[arr.length];
for (int i = 0; i < arr.length; i++){
newArr[i] = arr[i];
}
return newArr;
}
/**
* 数组反转
* @param arr
*/
public static void reverse(int[] arr){
for (int i = 0, j = arr.length - 1; i < j; i++, j--){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
/**
* 数组排序
* @param arr
*/
public static void sort(int[] arr){
for (int j = 0; j < arr.length-1; j++){
for (int i = 0; i < arr.length-1-j; i++){
if (arr[i] > arr[i+1]){
int temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
}
/**
* 线性查找目标的索引,未找到返回-1
* @param arr
* @param target
* @return
*/
public static int linearSearch(int[] arr, int target){
// 线性查找
for(int i = 0; i < arr.length; i++){
if (arr[i] == target) return i;
}
return -1;
}
}
示例:
public class MyArraysTest {
public static void main(String[] args) {
int[] a1 = {1,2,3,6,5};
int sum = MyArrays.getSum(a1);
System.out.println(sum);
}
}