­

Java工具集-统计学工具类

  • 2019 年 11 月 7 日
  • 筆記

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/102897733

简单工具类

写作初衷:由于日常开发经常需要用到很多工具类,经常根据需求自己写也比较麻烦 网上好了一些工具类例如commom.lang3或者hutool或者Jodd这样的开源工具,但是 发现他们之中虽然设计不错,但是如果我想要使用,就必须要引入依赖并且去维护依赖,有些 甚至会有存在版本编译不通过问题,故此想要写作一个每个类都可以作为独立工具类使用 每个使用者只需要复制该类,到任何项目当中都可以使用,所以需要尊从以下两个原则才能 做到.在此诚邀各位大佬参与.可以把各自用过的工具,整合成只依赖JDK,每个类都能够单独 使用的工具.每个人当遇到业务需求需要使用的时候,只需要到这里单独拷贝一个即可使用. 抛弃传统的需要引入依赖的烦恼.让大家一起来解决你所面临的业务问题吧!

介绍

遵从两大原则

  • 1.绝不依赖JDK以外的源码
  • 2.牺牲代码复用性,每个类都必须是单独的组件,绝不互相引用,做到完全解耦
package *;    import java.util.ArrayList;  import java.util.List;    /**   * @program: simple_tools   * @description: 统计学工具类   * @author: ChenWenLong   * @create: 2019-11-04 13:44   **/  @SuppressWarnings("unchecked")  public class StatisticsUtil {        /**       * 功能描述:       * 〈获取中位数〉       *       * @params : [numberList]       * @return : java.util.List<java.lang.Integer>       * @author : cwl       * @date : 2019/11/4 14:40       */      public static List<Number> getMedian(List<? extends Number> numberList){          if(null == numberList || numberList.size() == 0){              throw new RuntimeException("numberList is not be empty or null");          }          List<Number> resultList = new ArrayList<>();          if(numberList.size() % 2 == 0){              int a = numberList.size()/2;              int b = numberList.size()/2 - 1;              resultList.add(numberList.get(a));              resultList.add(numberList.get(b));          }else{              resultList.add(numberList.get(numberList.size()/2));          }          return resultList;      }        /**       * 功能描述:       * 〈获取平均值〉       *       * @params : [numberList]       * @return : java.util.List<java.lang.Number>       * @author : cwl       * @date : 2019/11/4 14:45       */      public static Number getAverage(List<? extends Number> numberList){          if(null == numberList || numberList.size() == 0){              throw new RuntimeException("numberList is not be empty or null");          }          double v = getSum(numberList).doubleValue();          return v / numberList.size();      }        /**       * 功能描述:       * 〈求和〉       *       * @params : [numberList]       * @return : java.util.List<java.lang.Number>       * @author : cwl       * @date : 2019/11/4 14:47       */      public static Number getSum(List<? extends Number> numberList){          if(null == numberList || numberList.size() == 0){              throw new RuntimeException("numberList is not be empty or null");          }          Number result = new Number() {              @Override              public int intValue() {                  return 0;              }                @Override              public long longValue() {                  return 0;              }                @Override              public float floatValue() {                  return 0;              }                @Override              public double doubleValue() {                  return 0;              }          };          long longResult = 0;          int intResult = 0 ;          double doubleResult = 0;          float floatResult = 0;          for (Number number : numberList) {              if(number.longValue() != 0){                  longResult = longResult + number.longValue();              }              if(number.doubleValue() != 0){                  doubleResult = doubleResult + number.doubleValue();              }              if(number.intValue() != 0){                  intResult = intResult + number.intValue();              }              if(number.floatValue() != 0){                  floatResult = floatResult + number.floatValue();              }          }          return longResult + intResult + doubleResult + floatResult;        }      }