學了數組之後,感覺有好多操作需要經常去寫,很不方便,因此自己做了一個工具類,方便調用,方法可能不全,希望大家可以添加,讓我使用也方便一點兒。 ...
學了數組之後,感覺有好多操作需要經常去寫,很不方便,因此自己做了一個工具類,方便調用,方法可能不全,希望大家可以添加,讓我使用也方便一點兒。
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 }