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

 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型数组常用操作工具类的更多相关文章

  1. JAVA基础(二)—— 常用的类与方法

    JAVA基础(二)-- 常用的类与方法 1 Math类 abs ceil floor 绝对值 大于等于该浮点数的最小整数 小于等于该浮点数的最大整数 max min round 两参数中较大的 两参数 ...

  2. Java第六天,API中常用的类,StringBuffer、StringBuilder、包装类、System类的使用

    System (1)这个类中有很多可以获取系统信息的类. public class SystemLearn { public static void main(String[] args) { lon ...

  3. 利用Java反射机制对实体类的常用操作工具类ObjectUtil

    代码: ObjectUtil类: import java.lang.reflect.Field; import java.math.BigDecimal; import java.text.Simpl ...

  4. 分享JAVA的FTP和SFTP相关操作工具类

     1.导入相关jar <!--FTPClient--><dependency> <groupId>commons-net</groupId> <a ...

  5. java消除整型数组中重复的元素,排序后输出新数组

    法一: import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(S ...

  6. java 将整型数组转化为字符串

    java arrays 和arrayList 的区别 package com.vc; import java.util.Arrays; public class Demo05 { public sta ...

  7. Java中Collection、Map常用实现类研究分析

    接口/实现类 描述 key是否可为null 为null是否报错 key是否重复 key重复是否报错 key是否和添加一致 是否线程安全 List 一组元素的集合 ArrayList 基于数组存储,读取 ...

  8. 数组转集合、集合转数组、字符串数组与int型、long型数组等的转换

    在项目中经常会遇到数组转集合.集合转数组.数组之间类型转换等操作 1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = { ...

  9. JAVA常用工具类汇总

    一.功能方法目录清单: 1.getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值: 2.getString(int iSource ...

随机推荐

  1. logback如何配置springboot框架

    创建logback-spring.xm在src/main/resources下面(springboot推荐使用logback-spring.xml而不是logback.xml)文件. logback- ...

  2. 玩转Nginx location配置

    原文链接:https://mp.weixin.qq.com/s/kaEtfmX9bVdKfCVY6gbOsQ 建议点击原文链接查看 nginx是一个跨平台的web服务器, 基于事件驱动的架构并发处理百 ...

  3. Istio的流量管理(实操二)(istio 系列四)

    Istio的流量管理(实操二)(istio 系列四) 涵盖官方文档Traffic Management章节中的inrgess部分. 目录 Istio的流量管理(实操二)(istio 系列四) Ingr ...

  4. js 获取百度搜索关键词的代码

    有可能有时候我们会用到在百度搜什么关键词进来我们的网站的,所有我们又想拿到用户搜索的关键词. 这是我研究了半天所得出的办法.话不多说直接贴代码 <script> function quer ...

  5. Mybatis配置-简单的使用

    导包 基本配置 配置mybatis.config.xml文档 <?xml version="1.0" encoding="UTF-8" ?> < ...

  6. jQuery基础总计

    框架概述 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法.框架是完成某种功能的半成品,框架是将我们日常的繁琐的代码进行抽取,并提供出更加简洁,功能更加 ...

  7. 又抓了一个导致频繁GC的鬼--数组动态扩容

    概述 本周有个同事过来咨询一个比较诡异的gc问题,大概现象是,系统一直在做cms gc,但是老生代一直不降下去,但是执行一次jmap -histo:live之后,也就是主动触发一次full gc之后, ...

  8. 读Pyqt4教程,带你入门Pyqt4 _003

    编程中的一个重要事情是布局管理,布局管理是如何在窗体上摆放窗口组件.可以有两种方式进行管理:绝对定位或使用布局类. 绝对定位 程序员用像素指定每个控件的位置和尺寸.使用绝对定位时,你必须理解几件事情. ...

  9. RabbitMQ镜像集群搭建

    RabbitMQ 官网 https://www.rabbitmq.com/ 小编使用的系统环境是CentOS7.4 系统 IP hostname CentOS7.4 1.1.1.1 hostname0 ...

  10. 日期类之SimpleDateFormat

    1.System 类下的currentTimeMillis();2.Date类:java.util.Date及其子类java.sql.Date                  如何创建实例:其下的方 ...