Java_int、double型數(shù)組常用操作工具類(分享)
學(xué)了數(shù)組之后,感覺有好多操作需要經(jīng)常去寫,很不方便,因此自己做了一個工具類,方便調(diào)用,方法可能不全,希望大家可以添加,讓我使用也方便一點(diǎn)兒。
public class ArrayUtils { //求數(shù)組的最大值(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; } //求數(shù)組的最小值(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; } //得到數(shù)組最大值的下標(biāo)(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; } //得到數(shù)組最小值的下標(biāo)(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; } //獲得數(shù)組之和(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; } //打印數(shù)組(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]); } } } //選擇排序?qū)?shù)據(jù)進(jìn)行降序排序(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; } } } } //選擇排序?qū)?shù)據(jù)進(jìn)行升序排序(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; } } } } //冒泡排序?qū)?shù)據(jù)進(jìn)行降序排序(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; } } } } //冒泡排序?qū)?shù)據(jù)進(jìn)行升序排序(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; } //********************************************************************* //求數(shù)組的最大值(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; } //求數(shù)組的最小值(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; } //得到數(shù)組最大值的下標(biāo)(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; } //得到數(shù)組最小值的下標(biāo)(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; } //獲得數(shù)組之和(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; } //打印數(shù)組(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]); } } } //選擇排序?qū)?shù)據(jù)進(jìn)行降序排序(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; } } } } //選擇排序?qū)?shù)據(jù)進(jìn)行升序排序(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; } } } } //冒泡排序?qū)?shù)據(jù)進(jìn)行降序排序(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; } } } } //冒泡排序?qū)?shù)據(jù)進(jìn)行升序排序(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型數(shù)組常用操作工具類(分享)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之哈夫曼樹概述及實現(xiàn)
文中詳細(xì)講了關(guān)于Java哈夫曼樹的概述以及用Java實現(xiàn)的方法,對各位正在學(xué)習(xí)java數(shù)據(jù)結(jié)構(gòu)的小伙伴們有很大的幫助喲,需要的朋友可以參考下2021-05-05Spring基于ProxyFactoryBean創(chuàng)建AOP代理
這篇文章主要介紹了Spring基于ProxyFactoryBean創(chuàng)建AOP代理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10使用Feign消費(fèi)服務(wù)時POST/GET請求方式詳解
這篇文章主要介紹了使用Feign消費(fèi)服務(wù)時POST/GET請求方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06Spring MVC-@RequestMapping注解詳解
@RequestMapping注解的作用,就是將請求和處理請求的控制器方法關(guān)聯(lián)起來,建立映射關(guān)系。這篇文章主要給大家介紹了關(guān)于SpringMVC中@RequestMapping注解用法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04maven中springboot-maven-plugin的5種打包方式
本文主要介紹了maven中springboot-maven-plugin的5種打包方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09分布式調(diào)度XXL-Job整合Springboot2.X實戰(zhàn)操作過程(推薦)
這篇文章主要介紹了分布式調(diào)度XXL-Job整合Springboot2.X實戰(zhàn)操作,包括定時任務(wù)的使用場景和常見的定時任務(wù),通過本文學(xué)習(xí)幫助大家該選擇哪個分布式任務(wù)調(diào)度平臺,對此文感興趣的朋友一起看看吧2022-04-04關(guān)于SpringBoot的異?;貪L和事務(wù)的使用詳解
這篇文章主要介紹了關(guān)于SpringBoot的異?;貪L和事務(wù)的使用詳解,Spring中 @Transactional 注解,默認(rèn)情況下,只對拋出的RuntimeException 異常,才會事務(wù)回滾,需要的朋友可以參考下2023-05-05