Java 数组工具类排序,最大值最小值等

public class ArrayUtils{

    /**
     * 返回数组最大值
     *
     * @param a
     * @return
     */
    public static int max(int[] a){
        // 返回数组最大值
        int x;
        int aa[]=new int[a.length];
        System.arraycopy(a,0,aa,0,a.length);
        x=aa[0];
        for(int i=1;i<aa.length;i++){
            if(aa[i]>x){
                x=aa[i];
            }
        }
        return x;
    }

    /**
     * 返回数组最小值
     *
     * @param a
     * @return
     */
    public static int min(int[] a){
        // 返回数组最小值
        int x;
        int aa[]=new int[a.length];
        System.arraycopy(a,0,aa,0,a.length);
        x=aa[0];
        for(int i=1;i<aa.length;i++){
            if(aa[i]<x){
                x=aa[i];
            }
        }
        return x;
    }

    /**
     * 将一个数组的第N到M项由小到大排列,将排列后的结果返回
     *
     * @param aa
     * @param N
     * @param M
     * @return
     */
    public static double[] up_order(double[] aa,int N,int M){
        // 将一个数组的第N到M项由小到大排列,将排列后的结果返回
        double q[]=new double[M];
        double[] a=new double[aa.length];
        System.arraycopy(aa,0,a,0,aa.length);
        for(int kk=0;kk<(M-N);kk++){
            for(int k=N-1;k<(M-1);k++){
                if(a[k]>a[k+1]){
                    q[k]=a[k];
                    a[k]=a[k+1];
                    a[k+1]=q[k];
                }
            }
        }
        return a;
    }

    /**
     * 将一个数组的第N到M项由大到小排列,将排列后的结果返回
     *
     * @param a
     * @param N
     * @param M
     * @return
     */
    public static double[] down_order(double[] a,int N,int M){
        // 将一个数组的第N到M项由大到小排列,将排列后的结果返回
        double[] q=new double[M];
        double[] aa=new double[a.length];
        System.arraycopy(a,0,aa,0,a.length);
        for(int kk=0;kk<(M-N);kk++){
            for(int k=N-1;k<(M-1);k++){
                if(aa[k]<aa[k+1]){
                    q[k]=aa[k];
                    aa[k]=aa[k+1];
                    aa[k+1]=q[k];
                }
            }
        }
        return aa;
    }

    /**
     * 将一个数组的第N与M项交换,将交换后的结果返回
     *
     * @param aa
     * @param N
     * @param M
     * @return
     */
    public static double[] change(double[] aa,int N,int M){
        // 将一个数组的第N与M项交换,将交换后的结果返回
        double[] a=new double[aa.length];
        System.arraycopy(aa,0,a,0,aa.length);
        double mid=a[M-1];
        a[M-1]=a[N-1];
        a[N-1]=mid;
        return a;
    }

    /**
     * 将一个数组从第N项到M项倒序交换,将排列后的结果返回
     *
     * @param aa
     * @param N
     * @param M
     * @return
     */
    public static double[] changeAll(double[] aa,int N,int M){
        // 将一个数组从第N项到M项倒序交换,将排列后的结果返回
        double[] a=new double[aa.length];
        System.arraycopy(aa,0,a,0,aa.length);
        double q[]=new double[M];
        for(int k=N-1;k<((M+N)/2);k++){
            q[k]=a[k];
            a[k]=a[(M+N)-k-2];
            a[(M+N)-k-2]=q[k];
        }
        return a;
    }

    /**
     * 将M分解因式后赋值给数组
     *
     * @param M
     * @return
     */
    public static int[] factor(int M){
        // 将M分解因式后赋值给数组a
        int n=0;
        int M1=M;
        for(int k=2;k<M;k++){
            if((M%k)==0){
                n++;
                M=M/k;
                k=1;
            }
        }
        n++;
        int[] a=new int[n];
        n=0;
        for(int k=2;k<M1;k++){
            if((M1%k)==0){
                a[n]=k;
                n++;
                M1=M1/k;
                k=1;
            }
        }
        a[n]=M1;
        return a;
    }
}

Java 数组工具类排序,最大值最小值等,布布扣,bubuko.com

时间: 2024-08-03 03:10:39

Java 数组工具类排序,最大值最小值等的相关文章

java===数组工具类创建,并使用eclipse导出说明文档.html

package cn.china; //import java.util.Arrays; //import java.util.Scanner; /** * 数组工具类,并且类内部方法都为静态方法,不提供初始化对象调用!!! * 包含数组排序.最值.查找等方法 * @author 王大侠 * @version V1.0*/ public class ArrayTool { private ArrayTool() { } /** * 数组选择排序 * @param arr 传入一个数组用于验证程序

java数组回顾---线性查找最大值最小值---二分查找

import java.util.Scanner; public class ArrayDemo { public static void main(String []args) { //------------------------------------------------------- //线性查找 int [] num ={10,20,30,40,50}; Scanner input1 = new Scanner(System.in); System.out.println("请输

Java学习:数组工具类Arrays

数组工具类Arrays java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作. public static String toString(数组): 将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3...]) public static void sort(数组): 按照默认升序(从小到大)对数组的元素进行排序. 备注:1.如果是数组,sort默认按照升序从小到大2.如果是字符串,sort默认按照字母升序3.如果是自定义的类型,那

Java学习笔记七——数组工具类Arrays

数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> asList(T... a) 作用:将指定数组或数组元素,转换成固定大小的List. 用法: String[] strArr = { "aaa", "bbb", "vvv" }; //用法1:参数是数组引用 List<String> li

黑马程序员————数组工具类对象建立

今天学习了数组工具类对象的建立巩固掌握以前学习的语句,函数,数组等相关知识 /** 建立一个用于操作数组的工具类,其中包括者常见的对数组操作的函数,如:最值,排序等 @author lostnotes */ public class ArraryTool { private ArrayTool () {}//该类中的方法都是静态的,所以不需要创建对象. //为了保证其他成员不创建该类对象,可以构造函数私有化. } /** 获取整数类型数组的最大值 @param arr 接收一个元素为int类型的

javadoc简易数组工具类文档(API)

制作简易数组工具类文档(API) 如何创建文档 以数组工具类(Array)为例一丶创建一个数组工具类  要求实现(1)遍历数组(2)求数组中的最大值(3)查询数组中的元素在数组中第一次出现的索引(4)将数组元素翻转并遍历 /** * 这是数组的一个工具类 * @author Apple * @version V1.0 * */ public class Array{  private Array(){ //将无参构造私有化,无法实例化  }    /**遍历数组  * @param arr :需

数组 工具类 Arrays API

Arrays 数组工具类 public class Arrays extends Object 1 1 1 public class Arrays extends Object 此类包含用来操作数组(比如排序和搜索)的各种方法.此类还包含一个允许将数组作为列表来查看的静态工厂. 除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException. 此类是 Java Collections Framework 的成员. asList 方法 static

java流工具类使用很方便

package com.auto.generate.utils ; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; /** * File Name: StreamTool.jav

java常用工具类(java技术交流群57388149)

package com.itjh.javaUtil; import java.util.ArrayList; import java.util.List; /** * * String工具类. <br> * * @author 宋立君 * @date 2014年06月24日 */ public class StringUtil { private static final int INDEX_NOT_FOUND = -1; private static final String EMPTY =