JAVA学习--ArrayUtil的创建和使用

public class ArrayUtil {
    // 求数组的最大值
    public int getMax(int[] arr) {
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i];
            }
        }
        return max;
    }

    // 求数组的最小值
    public int getMin(int[] arr) {
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (min > arr[i]) {
                min = arr[i];
            }
        }
        return min;
    }

    // 遍历数组元素
    public void printArray(int[] arr) {
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
        System.out.println("]");
    }

    // 求数组的平均数
    public int avg(int[] arr) {
        int sum = getSum(arr);
        return sum / arr.length;
    }

    // 求数组的总和
    public int getSum(int[] arr) {
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        return sum;
    }

    // 数组的反转
    public int[] reverse(int[] arr) {
        for (int x = 0, y = arr.length - 1; x < y; x++, y--) {
            int temp = arr[x];
            arr[x] = arr[y];
            arr[y] = temp;
        }

        return arr;
    }

    // 实现数组的复制
    public int[] copy(int[] arr) {
        // int[] arr1 = arr;
        // return arr1;
        int[] arr1 = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            arr1[i] = arr[i];
        }
        return arr1;
    }

    // 对数组进行排序
    public void sort(int[] arr, String desc) {
        if (desc == "asc") {// ascend:从小到大
            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]) {
                        swap(arr,j,j+1);
                        //swap(arr[j],arr[j + 1]);
                    }
                }
            }
        } else if (desc == "desc") {// 从大到小
            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]) {
                        swap(arr,j,j+1);
                        //swap(arr[j],arr[j + 1]);
                    }
                }
            }
        } else {
            System.out.println("您输入的排序方式有误!");
        }
    }
    //交换数组中指定位置的元素:交换arr数组中索引为i和j的两个元素
    public void swap(int[] arr,int i,int j){
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
//    public void swap(int i,int j){
//        int temp = i;
//        i = j;
//        j = temp;
//    }
} 
时间: 2024-10-10 17:03:18

JAVA学习--ArrayUtil的创建和使用的相关文章

好程序员Java学习路线分享创建Java class

好程序员Java学习路线分享创建Java class,首先通过Transport Client获取ES的连接 private Client client; //通过Transport Client获取ES的连接 @Before public void getClient() throws Exception{ ????//ES服务的JavaAPI的port为9300 ????//注意:如果请求一个ES集群,可以多添几个节点 ????//为了避免在一个节点出现网络问题导致的请求失败问题,可以自动切

Java学习笔记-13.创建窗口和程序片

1.init()方法:程序片第一次被创建,初次运行初始化程序片时调用. start()方法:每当程序片进入web浏览器中,并且允许程序片启动他的常规操作时调用(特殊的程序片被stop()关闭):同样在init()后调用. paint()方法:基础类Component的一部分(继承结构中上朔三级).作为update()的一部分调用,以便对程序片的画布进行特殊的描绘. stop()方法:每次程序片从web浏览器的视线中离开时调用,时程序片能关闭代价高昂的操作:同样在调用destroy()前调用. d

Effective Java 学习笔记之创建和销毁对象

一.考虑用静态工厂方法代替构造器 1.此处的静态工厂方法是指返回指为类的对象的静态方法,而不是设计模式中的静态工厂方法. 2.静态工厂方法的优势有: a.使用不同的方法名称可显著地表明两个静态工厂方法的不同,而不像构造器,名字只能是类名. b.并不是每次调用静态工厂方法,都会重新构造一个新的对象. c.可以返回类型的子类型的对象. d.创建参数化类型的实例时,代码变得简洁了. 3.静态工厂方法的缺点有: a.类如果不含有公有的或者受保护的构造器,就不能被子类化(静态工厂方法的存在导致构造器存在的

Java学习-023-Properties 类 XML 配置文件读取及写入源代码

之前的几篇 Properties 文章已经讲述过了 Java 配置文件类 Properties 的基本用法,查看 JDK 的帮助文档时,也可看到在 Properties 类中还有两个方法 loadFromXML(InputStream) 和 storeToXml(OutputStream, String, String),由方法名中的 xml 不难确定这两个方法分别是读取/写入数据到 xml 文件.JDK 文档部分如下所示: 因而此文将通过源码实例演示 Properties 类是如何将数据写入

2016最新Java学习计划

一.Java学习路线图 二.Java学习路线图--视频篇 六大阶段 学完后目标 知识点 配套免费资源(视频+笔 记+源码+模板) 密码        第一阶段 Java基础 入门 学习周期: 35天 学完后目标: 1.可进行小型应用程序开发 2.对数据库进行基本的增删改查管理 市场价值:¥5000 计算机基础知识 计算机基础.DOS常用命令.Java概述.JDK环境安装配置.环境变量配置.Java程序入门 1.2015年Java基础视频-深入浅出精华版(强烈推荐) 2.历经5年锤炼(适合初学者入

Java 学习路线建议

在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬.2.下面对于[第一部分]的推荐内容,目的是让你尽快成为一个可以参加工作的Java开发者,更适用于处于待业状态,准备转行Java的同学. 如果你是在校学生,务必要在学好基础(比如计算机系统.算法.编译原理等等)的前提下,再考虑去进行下面的学习.第一部分:对于尚未做过Java工作的同学,包括一

Java学习轨迹【面向对象】(持续更新)

其中部分内容为其他博主所作,侵删 6月12日-7月每日更新 Java学习轨迹 一.面向对象 类和对象 1. new关键字所完成的事情 1)为对象开辟了新的内存空间 2)调用类的构造方法 3)返回生成对象的地址 Dog dog=new Dog(); dog是引用,new Dog()生成了一个Dog对象,引用dog指向所生成对象的地址 2.构造方法 1)构造方法必须与类名相同 2)构造方法没有返回值[且不能使用void作返回值] 3)如果在定义类的时候没有为类声明构造方法java编译器会自动为类添加

Java学习之路(二)--Thinking in Java

针对昨天Java学习之路(一)--Thinking in Java中的类的静态方法不能访问创建非静态类,给出了将内部类修改成为static静态类,操作方便简单.现在给出第二种不需要添加删除的另一种极为高效的方式.可以将内部类从你所创建的类中复制粘贴到类外,作为一个外部类,在static主方法中就可以创建类的引用了. 源代码如下: ? class test{ int s; char c; } public class test1 { public static class test{ int s;

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载