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