Java_int、double型数组常用操作工具类(分享)

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

public class ArrayUtils {
//求数组的最大值(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;
 }
//求数组的最小值(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;
 }
//得到数组最大值的下标(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;
 }
//得到数组最小值的下标(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;
 }
//获得数组之和(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;
 }
//打印数组(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]);
   }
  }
 }
//选择排序对数据进行降序排序(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;
       }
     }
    }
   }
//选择排序对数据进行升序排序(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;
       }
     }
    }
   }
//冒泡排序对数据进行降序排序(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;
      }
    }
   }
  }
//冒泡排序对数据进行升序排序(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;
  }
//*********************************************************************

//求数组的最大值(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;
 }
//求数组的最小值(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;
  }
//得到数组最大值的下标(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;
  }
//得到数组最小值的下标(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;
  }
//获得数组之和(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;
  }
//打印数组(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]);
      }
     }
    }
//选择排序对数据进行降序排序(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;
      }
    }
   }
  }
//选择排序对数据进行升序排序(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;
      }
    }
   }
  }
//冒泡排序对数据进行降序排序(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;
     }
   }
  }
 }
//冒泡排序对数据进行升序排序(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型数组常用操作工具类(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java数组的基本操作方法整理

    数组是具有相同数据类型的一组数据的集合,Java支持多为数组,一维数组的每个基本单元都是基本数据类型的数据,二维数组就是每个基本单元是一维数组的一维数组,以此类推,n维数组的每个基本单元都是n-1为数组的n-1维数组.下面以一维数组为例说明Java数组的用法. 1.数组声明 数组声明有如下两种形式(方括号的位置不同): int arr[]; int[] arr2; 2.数组初始化 数组初始化也有两种形式,如下(使用new或不使用new): int arr[] = new int[]{1, 3,

  • Java开发学习 Java数组操作工具

    看到网上的一段关于对数组操作的代码,觉得有用,在此备用. import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Random; import java.util.TreeMap; /** * @desc 数组操作工具 * @author OuyangPeng * @datatime 2013-5-11 10:31:02 * */ public class MyArrayUtil

  • java基础之数组常用操作总结(必看篇)

    常用的对数组进行的操作 1.求数组中最大值,最小值 思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max.最小值同样 public class TestArray{ public static void main(String[] args){ int[] arr={23,45,234,576,34,87,34,12,67}; int max=arr[0]; int min=arr[0]; for(int i=0;i<arr.leng

  • Java_int、double型数组常用操作工具类(分享)

    学了数组之后,感觉有好多操作需要经常去写,很不方便,因此自己做了一个工具类,方便调用,方法可能不全,希望大家可以添加,让我使用也方便一点儿. public class ArrayUtils { //求数组的最大值(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; } /

  • Android数据库操作工具类分享

    本文实例为大家分享了Android数据库操作工具类的具体代码,供大家参考,具体内容如下 HistoryDAO public class HistoryDAO { private DBConnection dbc = null; private SQLiteDatabase db = null; private Context context; //数据库上下文 public HistoryDAO(Context context) { this.context = context; } //打开数

  • C#字符串的常用操作工具类代码分享

    实现以下功能: 验证字符串是否由正负号(+-).数字.小数点构成,并且最多只有一个小数点验证字符串是否仅由[0-9]构成验证字符串是否由字母和数字构成验证是否为空字符串.若无需裁切两端空格,建议直接使用 String.IsNullOrEmpty(string)裁切字符串(中文按照两个字符计算)裁切字符串(中文按照两个字符计算,裁切前会先过滤 Html 标签)过滤HTML标签获取字符串长度.与string.Length不同的是,该方法将中文作 2 个字符计算.将形如 10.1MB 格式对用户友好的

  • java文件操作工具类分享(file文件工具类)

    复制代码 代码如下: import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.Fil

  • Android开发中的文件操作工具类FileUtil完整实例

    本文实例讲述了Android开发中的文件操作工具类FileUtil.分享给大家供大家参考,具体如下: package com.ymerp.android.tools; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java

  • Java单例模式下的MongoDB数据库操作工具类

    本文实例讲述了Java单例模式下的MongoDB数据库操作工具类.分享给大家供大家参考,具体如下: 我经常对MongoDB进行一些基础操作,将这些常用操作合并到一个工具类中,方便自己开发使用. 没用Spring Data.Morphia等框架是为了减少学习.维护成本,另外自己直接JDBC方式的话可以更灵活,为自己以后的积累留一个脚印. JAVA驱动版本: <!-- MongoDB驱动 --> <dependency> <groupId>org.mongodb</g

  • 对numpy中布尔型数组的处理方法详解

    布尔数组的操作方式主要有两种,any用于查看数组中是否有True的值,而all则用于查看数组是否全都是True. 如果用于计算的时候,布尔量会被转换成1和0,True转换成1,False转换成0.通过这种方法可以统计一个布尔量数组中True的个数. 如果普通的数组用于布尔类操作,也会有类似的数据类型转换.其中,非0的数值转换成True,而0则被转换成False. In [30]: arr = randn(100) In [31]: arr Out[31]: array([ 1.38474589,

  • java常用工具类 数字工具类

    本文实例为大家分享了java常用工具类,数字工具类的具体代码,供大家参考,具体内容如下 package com.jarvis.base.util; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Random; public class NumericHelper { /** * 描述:通过一个整数i获取你所要的哪几个(从0开始

  • Java常用工具类 UUID、Map工具类

    本文实例为大家分享了Java常用工具类 的具体代码,供大家参考,具体内容如下 UUID工具类 package com.jarvis.base.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; /** * A class that represents an immutable universally

  • java常用工具类 Reflect反射工具类、String字符串工具类

    本文实例为大家分享了java常用工具类的具体代码,供大家参考,具体内容如下 Reflect反射工具类 package com.jarvis.base.util; /** * * * @Title: ReflectHelper.java * @Package com.jarvis.base.util * @Description: 反射工具类 * @version V1.0 */ public class ReflectHelper { /** * 提指定的类载入以系统中 * * @param n

随机推荐