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

 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. IDEA三种注释详解

    三种注释方式 行注释.块注释.方法或类说明注释. 一.快捷键:Ctrl + / 使用Ctrl+ /, 添加行注释,再次使用,去掉行注释 二.演示代码 if (hallSites != null &am ...

  2. Fabric进阶(一)—— 修改组织和通道的名称

    组织(Org)和通道(Channel)的名称是fabric网络比较重要的两个配置参数,在fabric提供的示例中都已经设置好了这两个参数,一般组织名为"Org1"和"Or ...

  3. 【Mood】出大问题(最近很喜欢说这句话)

    开学两周啦,第一周来了一次开学考,是崩了,还好没公布成绩和排名. 这两周下了一个很大的决心,准备转型/专注文化课,初三一次信息学奥赛比赛后就不学了,先保证能上高中重点班(如果有的话). 因为现在起步太 ...

  4. 调用 start_kernel

    步骤 1 关闭中断.进入 SVC 模式 ENTRY(stext) THUMB( adr r9, BSYM(1f) ) @ Kernel is always entered in ARM. THUMB( ...

  5. 基于Unity实现油画风格的着色器

    // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Cust ...

  6. Web前端:1、HTML&CSS概述及结构

    万维网联盟(World Wide Web Consortium)简称W3C,专门为了定义网页相关的标准而成立,如网页中的HTML.CSS.DOM.HTTP.XML等标准. 根据W3C标准,一个网页主要 ...

  7. Python的大小整数池跟深浅copy

    一.小整数池 可变的数据类型:list dict set 可变: 就是里面的数据类型变了,但是指向的内存地址没变. 不可变的数据类型:str 数值类型 tuple 不可变:如果改变了里面的值,相应的只 ...

  8. Network Motif 文献调研

    Network Motif 文献调研 概述:Network motifs,可以认为是网络中频繁出现的子图模式,是复杂网络的"构建块".有两篇发表在science上的论文给出moti ...

  9. 没找到工作的Java软件工程师是屌丝中的屌丝啊

    Java软件开发的工作咋就那么难找呢?

  10. Java集合(九)哈希冲突及解决哈希冲突的4种方式

    Java集合(九)哈希冲突及解决哈希冲突的4种方式 一.哈希冲突 (一).产生的原因 哈希是通过对数据进行再压缩,提高效率的一种解决方法.但由于通过哈希函数产生的哈希值是有限的,而数据可能比较多,导致 ...