• 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 }
  • 相关阅读:
    [CLYZ2017]day8
    [CLYZ2017]day12
    [bzoj1503][NOI2004]郁闷的出纳员
    [CLYZ2017]day18
    [CLYZ2017]day11
    [CLYZ2017]day17
    在DLL中获取服务器路径
    SPSecurity.RunWithElevatedPrivileges 拒绝访问
    prototype1.4.0(转载)
    删除多表数据
  • 原文地址:https://www.cnblogs.com/zxf-java/p/7287092.html
Copyright © 2020-2023  润新知