学了数组之后,感觉有好多操作需要经常去写,很不方便,因此自己做了一个工具类,方便调用,方法可能不全,希望大家可以添加,让我使用也方便一点儿。
public class ArrayUtils { //求数组的最大值(int) public static int getMax(int[] arr){ int max = arr[0]; for(int i = 0;i<arr.length;i++){ if(max<arr[i]){ max = arr[i]; } } return max; } //求数组的最小值(int) public static int getMin(int[] arr){ int min = arr[0]; for(int i = 0;i<arr.length;i++){ if(min>arr[i]){ min = arr[i]; } } return min; } //得到数组最大值的下标(int) public static int getMaxIndex(int[] arr){ int maxIndex = 0; for(int i = 0;i <arr.length;i++){ if(arr[maxIndex]<arr[i]){ maxIndex = i; } } return maxIndex; } //得到数组最小值的下标(int) public static int getMinIndex(int[] arr){ int minIndex = 0; for(int i = 0;i <arr.length;i++){ if(arr[minIndex]>arr[i]){ minIndex = i; } } return minIndex; } //获得数组之和(int) public static int getSum(int[] arr){ int sum = 0; for(int i = 0; i < arr.length;i++){ sum += arr[i]; } return sum; } //获得平均值(int) public static int getAverage(int[] arr){ int avg = getSum(arr)/arr.length; return avg; } //打印数组(int) public static void printArray(int[] arr){ for(int i = 0;i<arr.length;i++){ if(i!=arr.length-1){ System.out.print(arr[i]+","); }else{ System.out.println(arr[i]); } } } //选择排序对数据进行降序排序(int) public static void selectSortDescendingArray(int[] arr){ for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较 for(int j = i+1;j<arr.length;j++){ if(arr[i]<arr[j]){ int temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } } //选择排序对数据进行升序排序(int) public static void selectSortAscendingArray(int[] arr){ for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较 for(int j = i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ int temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } } //冒泡排序对数据进行降序排序(int) public static void bubbleSortDescendingArray(int[] arr){ for(int i = 0;i<arr.length-1;i++){ for(int j = 0;j<arr.length-1-i;j++){ if(arr[j]<arr[j+1]){ int temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } } //冒泡排序对数据进行升序排序(int) public static void bubbleSortAscendingArray(int[] arr){ for(int i = 0;i<arr.length-1;i++){ for(int j = 0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ int temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } } //二分查找(int) public static int binarySearch(int[] arr,int key){ int min,mid,max; min = 0; max = arr.length-1; while(arr[min]<arr[max]){ mid = (min+max)/2; if(key>arr[mid]){ min = mid+1; }else if(key<arr[mid]){ max = mid-1; }else { return mid; } } return -1; } //********************************************************************* //求数组的最大值(double) public static double getMax(double[] arr){ double max = arr[0]; for(int i = 0;i<arr.length;i++){ if(max<arr[i]){ max = arr[i]; } } return max; } //求数组的最小值(double) public static double getMin(double[] arr){ double min = arr[0]; for(int i = 0;i<arr.length;i++){ if(min>arr[i]){ min = arr[i]; } } return min; } //得到数组最大值的下标(double) public static int getMaxIndex(double[] arr){ int maxIndex = 0; for(int i = 0;i <arr.length;i++){ if(arr[maxIndex]<arr[i]){ maxIndex = i; } } return maxIndex; } //得到数组最小值的下标(double) public static int getMinIndex(double[] arr){ int minIndex = 0; for(int i = 0;i <arr.length;i++){ if(arr[minIndex]>arr[i]){ minIndex = i; } } return minIndex; } //获得数组之和(double) public static double getSum(double[] arr){ double sum = 0; for(int i = 0; i < arr.length;i++){ sum += arr[i]; } return sum; } //获得平均值(double) public static double getAverage(double[] arr){ double avg = getSum(arr)/arr.length; return avg; } //打印数组(double) public static void printArray(double[] arr){ for(int i = 0;i<arr.length;i++){ if(i!=arr.length-1){ System.out.print(arr[i]+","); }else{ System.out.println(arr[i]); } } } //选择排序对数据进行降序排序(double) public static void selectSortDescendingArray(double[] arr){ for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较 for(int j = i+1;j<arr.length;j++){ if(arr[i]<arr[j]){ double temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } } //选择排序对数据进行升序排序(double) public static void selectSortAscendingArray(double[] arr){ for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较 for(int j = i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ double temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } } //冒泡排序对数据进行降序排序(double) public static void bubbleSortDescendingArray(double[] arr){ for(int i = 0;i<arr.length-1;i++){ for(int j = 0;j<arr.length-1-i;j++){ if(arr[j]<arr[j+1]){ double temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } } //冒泡排序对数据进行升序排序(double) public static void bubbleSortAscendingArray(double[] arr){ for(int i = 0;i<arr.length-1;i++){ for(int j = 0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ double temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } } //二分查找(double) public static int binarySearch(double[] arr,double key){ int min,mid,max; min = 0; max = arr.length-1; while(arr[min]<arr[max]){ mid = (min+max)/2; if(key>arr[mid]){ min = mid+1; }else if(key<arr[mid]){ max = mid-1; }else { return mid; } } return -1; } }
以上这篇Java_int、double型数组常用操作工具类(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。