需求描述

编写一个工具类,对ArrayList实现以下功能:

① 排序

② 求最大值

③ 求最小值

④ 求平均值

需求实现

实现代码

package cn.test.logan.day04;

import java.util.ArrayList;

/**
* 编写一个工具类:对整型的Arraylist实现排序、求最大值、最小值、平均值等
* @author QIN
*
*/
public class ListUtils {
// 排序
public static void sort(ArrayList<Integer> list) {
for(int i=0;i<list.size()-1;i++) {
for(int j=0;j<list.size()-1-i;j++) {
if(list.get(j)>list.get(j+1)) {
int tmp = list.get(j);
list.set(j, list.get(j+1));
list.set(j+1, tmp);
}
}
}
} // 求最大值
public static int getMax(ArrayList<Integer> list) {
int tmp = list.get(0);
for(int i=0;i<list.size();i++) {
if(list.get(i) > tmp) {
tmp = list.get(i);
}
}
return tmp;
}
public static int getMin(ArrayList<Integer> list) {
int tmp = list.get(0);
for(int i=0;i<list.size();i++) {
if(list.get(i) < tmp) {
tmp = list.get(i);
}
}
return tmp;
}
public static float getAvg(ArrayList<Integer> list) {
int sum=0;
for(int i=0;i<list.size();i++) {
sum+=list.get(i);
}
float avg = (float)sum/list.size();
return avg;
} }

ListUtils.java

package cn.test.logan.day04;

import java.util.ArrayList;

public class ListUtilsTest {
public static void main(String[] args) {
// 定义ArrayList
ArrayList<Integer> aylist = new ArrayList<Integer>();
aylist.add(30);
aylist.add(10);
aylist.add(20);
aylist.add(50);
aylist.add(40); // 排序
ListUtils.sort(aylist);
System.out.println(aylist.toString());
System.out.println("------------------------------"); // 求最大值
int max = ListUtils.getMax(aylist);
System.out.println(max);
System.out.println("------------------------------"); // 求最小值
int min = ListUtils.getMin(aylist);
System.out.println(min);
System.out.println("------------------------------"); // 求平均值
float avg = ListUtils.getAvg(aylist);
System.out.println(avg);
System.out.println("------------------------------");
}
}

ListUtilsTest.java

【BigData】Java基础_定义工具类,对ArrayList排序并且求最大值、最小值、平均值的更多相关文章

  1. JAVA基础补漏--Collections工具类排序

    Collections在对自定义对象进行排序时,自定义类需要对compareTo()函数进行重写. public class Student implements Comparable<Stud ...

  2. java学习_文件工具类

    工具类里面的方法全部都是静态的,调用的时候不需要实例化

  3. Java基础语法(自定义类、ArrayList集合)

    Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...

  4. Java基础六(自定义类、ArrayList集合)

    今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中 ...

  5. Java 后台验证的工具类

    Java 后台验证的工具类 public class ValidationUtil {         //手机号     public static String mobile = "^( ...

  6. Redis 工具类 java 实现的redis 工具类

    最近了解了一下非关系型数据库 redis 会使用简单的命令 在自己本地电脑 使用时必须先启动服务器端 在启动客户端 redis 简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内 ...

  7. Rhino+envjs-1.2.js 在java运行网站js 工具类

    java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...

  8. Java学习-041-颜色工具类(RGB,HEX)

    在日常的网页开发中,经常需要进行颜色数值获取.转换,例如获取红色,获取蓝色,获取绿色,RGB转十六进制颜色,十六进制颜色转RGB等,因而在学习过程中,写了一个小工具类,仅供各位小主参考! 多不闲言,直 ...

  9. Java学习-049-正则工具类

    自去年九月份决定再次入学和职业资格进阶,开始备战二者考试至今,以及当下进行中的职称申请,犹如孤独的狼,不断前行在路上,而今凡凡总总的已历8月... 不感慨了,如下为一园友需要的正则工具类,直接上码: ...

随机推荐

  1. mysql获取日期语句汇总

    汇总一些MySQL获取日期的SQL语句. -- 今天 SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AS '今天开始'; SELECT DATE_FORM ...

  2. Prometheus 与 Alertmanager 通信

    Prometheus 与 Alertmanager 通信 1.编辑Prometheus配置文件配置连接地址:vim prometheus.yml # Alertmanager configuratio ...

  3. Docker入门之安装与简单使用操作

    1.docker安装 #1.检查内核版本,必须是3.10及以上 uname -r #2.安装 yum -y install docker 2.docker简单使用 #1.启动docker system ...

  4. 【杂文】NOIP2018 蒟蒻自闭记

    [杂文]NOIP2018 蒟蒻自闭记 都 \(9102\) 年了,谁还记得 \(2018\) 年的事啊 \(QAQ\) . 还有两个月就要去参加首届 \(CSP\) 了. 想着如果再不记下去年那些事儿 ...

  5. 查看索引在哪些ES集群节点上的命令

    用途:迁移数据到其他节点上的时候需要用这个 GET /_cat/shards GET /_cat/shards?h=n

  6. 一段简单的顶部JS广告

    一段简单的顶部JS广告 <SCRIPT LANGUAGE="JavaScript"> ; ; images = new Array; images[] = new Im ...

  7. Prometheus监控学习笔记之prometheus 版本1.7 常用启动参数

    日志类: -log.level 可选值 [debug, info, warn, error, fatal]  例:-log.level "info" -log.format  可选 ...

  8. 排序算法Java代码实现(五)—— 快速排序

    本篇内容: 快速排序 快速排序 算法思想: 通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比另外一部分的所有数据都要小, 然后再按此方法对这两部分数据分别进行快速排序, 整个排 ...

  9. DSAPI CMD命令行进程代理

    DSAPI.文件.CMD命令行进程代理,是用来和CMD.exe或指定exe进行输出重定向的简化使用工具,可隐藏或显式地启动一个cmd.exe,并将输出流.输入流和错误流重定向至代理,通过事件触发方式与 ...

  10. 前后端分离项目Vue+drf开发部署总结

    思维导图xmind文件:https://files-cdn.cnblogs.com/files/benjieming/%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A ...