Java——int、double型数组常用操作工具类

学了数组之后,感觉有好多操作需要经常去写,很不方便,因此自己做了一个工具类,方便调用,方法可能不全,希望大家可以添加,让我使用也方便一点儿。

  1 public class ArrayUtils {
  2 //求数组的最大值(int)
  3     public static int getMax(int[] arr){
  4         int max = arr[0];
  5         for(int i = 0;i<arr.length;i++){
  6             if(max<arr[i]){
  7                 max = arr[i];
  8             }
  9         }
 10         return max;
 11     }
 12 //求数组的最小值(int)
 13     public static int getMin(int[] arr){
 14         int min = arr[0];
 15         for(int i = 0;i<arr.length;i++){
 16             if(min>arr[i]){
 17                 min = arr[i];
 18             }
 19         }
 20         return min;
 21     }
 22 //得到数组最大值的下标(int)
 23     public static int getMaxIndex(int[] arr){
 24         int maxIndex = 0;
 25         for(int i = 0;i <arr.length;i++){
 26             if(arr[maxIndex]<arr[i]){
 27                 maxIndex = i;
 28             }
 29         }
 30         return maxIndex;
 31     }
 32 //得到数组最小值的下标(int)
 33     public static int getMinIndex(int[] arr){
 34         int minIndex = 0;
 35         for(int i = 0;i <arr.length;i++){
 36             if(arr[minIndex]>arr[i]){
 37                 minIndex = i;
 38             }
 39         }
 40         return minIndex;
 41     }
 42 //获得数组之和(int)
 43     public static int getSum(int[] arr){
 44         int sum = 0;
 45         for(int i = 0; i < arr.length;i++){
 46             sum += arr[i];
 47         }
 48         return sum;    
 49     }
 50 //获得平均值(int)
 51     public static int getAverage(int[] arr){
 52         int avg = getSum(arr)/arr.length;
 53         return avg;
 54     }
 55 //打印数组(int)
 56     public static void printArray(int[] arr){
 57         for(int i = 0;i<arr.length;i++){
 58             if(i!=arr.length-1){
 59                 System.out.print(arr[i]+",");
 60             }else{
 61                 System.out.println(arr[i]);
 62             }
 63         }
 64     }
 65 //选择排序对数据进行降序排序(int)
 66             public static void selectSortDescendingArray(int[] arr){
 67                 for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较
 68                     for(int j = i+1;j<arr.length;j++){
 69                         if(arr[i]<arr[j]){
 70                             int temp = arr[j];
 71                             arr[j] = arr[i];
 72                             arr[i] = temp;
 73                          }
 74                     }
 75                 }
 76             }
 77 //选择排序对数据进行升序排序(int)
 78             public static void selectSortAscendingArray(int[] arr){
 79                 for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较
 80                     for(int j = i+1;j<arr.length;j++){
 81                         if(arr[i]>arr[j]){
 82                             int temp = arr[j];
 83                             arr[j] = arr[i];
 84                             arr[i] = temp;
 85                          }
 86                     }
 87                 }
 88             }
 89 //冒泡排序对数据进行降序排序(int)
 90         public static void bubbleSortDescendingArray(int[] arr){
 91             for(int i = 0;i<arr.length-1;i++){
 92                 for(int j = 0;j<arr.length-1-i;j++){
 93                     if(arr[j]<arr[j+1]){
 94                         int temp = arr[j+1];
 95                         arr[j+1] = arr[j];
 96                         arr[j] = temp;
 97                         }
 98                 }
 99             }
100         }
101 //冒泡排序对数据进行升序排序(int)
102         public static void bubbleSortAscendingArray(int[] arr){
103             for(int i = 0;i<arr.length-1;i++){
104                 for(int j = 0;j<arr.length-1-i;j++){
105                     if(arr[j]>arr[j+1]){
106                         int temp = arr[j+1];
107                         arr[j+1] = arr[j];
108                         arr[j] = temp;
109                         }
110                 }
111             }
112         }
113 //二分查找(int)
114         public static int binarySearch(int[] arr,int key){
115             int min,mid,max;
116             min = 0;
117             max = arr.length-1;
118             while(arr[min]<arr[max]){
119                 mid = (min+max)/2;
120                 if(key>arr[mid]){
121                     min = mid+1;
122                 }else if(key<arr[mid]){
123                     max = mid-1;
124                 }else {
125                     return mid;
126                 }
127             }
128             return -1;
129         }
130 //*********************************************************************
131         
132 //求数组的最大值(double)
133     public static double getMax(double[] arr){
134         double max = arr[0];
135         for(int i = 0;i<arr.length;i++){
136             if(max<arr[i]){
137                 max = arr[i];
138             }
139         }
140         return max;
141     }
142 //求数组的最小值(double)
143         public static double getMin(double[] arr){
144             double min = arr[0];
145             for(int i = 0;i<arr.length;i++){
146                 if(min>arr[i]){
147                     min = arr[i];
148                 }
149             }
150             return min;
151         }
152 //得到数组最大值的下标(double)
153         public static int getMaxIndex(double[] arr){
154             int maxIndex = 0;
155             for(int i = 0;i <arr.length;i++){
156                 if(arr[maxIndex]<arr[i]){
157                     maxIndex = i;
158                 }
159             }
160             return maxIndex;
161         }
162 //得到数组最小值的下标(double)
163         public static int getMinIndex(double[] arr){
164             int minIndex = 0;
165             for(int i = 0;i <arr.length;i++){
166                 if(arr[minIndex]>arr[i]){
167                     minIndex = i;
168                 }
169             }
170             return minIndex;
171         }
172 //获得数组之和(double)
173         public static double getSum(double[] arr){
174             double sum = 0;
175             for(int i = 0; i < arr.length;i++){
176                 sum += arr[i];
177             }
178             return sum;    
179         }
180 //获得平均值(double)
181         public static double getAverage(double[] arr){
182             double avg = getSum(arr)/arr.length;
183             return avg;
184         }
185 //打印数组(double)
186                 public static void printArray(double[] arr){
187                     for(int i = 0;i<arr.length;i++){
188                         if(i!=arr.length-1){
189                             System.out.print(arr[i]+",");
190                         }else{
191                             System.out.println(arr[i]);
192                         }
193                     }
194                 }
195 //选择排序对数据进行降序排序(double)
196         public static void selectSortDescendingArray(double[] arr){
197             for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较
198                 for(int j = i+1;j<arr.length;j++){
199                     if(arr[i]<arr[j]){
200                         double temp = arr[j];
201                         arr[j] = arr[i];
202                         arr[i] = temp;
203                      }
204                 }
205             }
206         }
207 //选择排序对数据进行升序排序(double)
208         public static void selectSortAscendingArray(double[] arr){
209             for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最后一个不用比较
210                 for(int j = i+1;j<arr.length;j++){
211                     if(arr[i]>arr[j]){
212                         double temp = arr[j];
213                         arr[j] = arr[i];
214                         arr[i] = temp;
215                      }
216                 }
217             }
218         }
219 //冒泡排序对数据进行降序排序(double)
220     public static void bubbleSortDescendingArray(double[] arr){
221         for(int i = 0;i<arr.length-1;i++){
222             for(int j = 0;j<arr.length-1-i;j++){
223                 if(arr[j]<arr[j+1]){
224                     double temp = arr[j+1];
225                     arr[j+1] = arr[j];
226                     arr[j] = temp;
227                     }
228             }
229         }
230     }
231 //冒泡排序对数据进行升序排序(double)
232     public static void bubbleSortAscendingArray(double[] arr){
233         for(int i = 0;i<arr.length-1;i++){
234             for(int j = 0;j<arr.length-1-i;j++){
235                 if(arr[j]>arr[j+1]){
236                     double temp = arr[j+1];
237                     arr[j+1] = arr[j];
238                     arr[j] = temp;
239                     }
240             }
241         }
242     }
243 //二分查找(double)
244             public static int binarySearch(double[] arr,double key){
245                 int min,mid,max;
246                 min = 0;
247                 max = arr.length-1;
248                 while(arr[min]<arr[max]){
249                     mid = (min+max)/2;
250                     if(key>arr[mid]){
251                         min = mid+1;
252                     }else if(key<arr[mid]){
253                         max = mid-1;
254                     }else {
255                         return mid;
256                     }
257                 }
258                 return -1;
259             }
260 
261 }