zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java集合求和最大值最小值示例分享

JAVA集合 示例 分享 求和 最大值 最小值
2023-06-13 09:15:16 时间

复制代码代码如下:


packagecom.happyelements.athene.game.util;

importstaticcom.google.common.base.Preconditions.checkNotNull;

importjava.util.Collection;

importcom.google.common.collect.Lists;

/**
 *Math工具类
 * 
 *@version1.0
 *@since1.0
 */
publicclassMathUtil{

 /**
 *@seeMathUtil#min(Collection)
 *@paramts
 *@return
 */
 publicstatic<TextendsComparable<T>>Tmin(T...ts){
  returnmin(Lists.newArrayList(ts));
 }

 /**
 *取最小值
 *@paramvalues
 *@throwsNullPointerExceptionif(values==null||values.contain(null))
 *@return
 */
 publicstatic<TextendsComparable<T>>Tmin(Collection<T>values){
  checkNotNull(values);
  Tmin=null;

  for(Tt:values){
   checkNotNull(t);
   if(min==null){
    min=t;
   }else{
    min=min.compareTo(t)<0?min:t;
   }
  }
  returnmin;
 }

 /**
 *@seeMathUtil#max(Collection)
 *@paramts
 *@return
 */
 publicstatic<TextendsComparable<T>>Tmax(T...ts){
  returnmax(Lists.newArrayList(ts));
 }

 /**
 *取最大值
 *@paramvalues
 *@throwsNullPointerExceptionif(values==null||values.contain(null))
 *@return
 */
 publicstatic<TextendsComparable<T>>Tmax(Collection<T>values){
  checkNotNull(values);
  Tmax=null;

  for(Tt:values){
   checkNotNull(t);
   if(max==null){
    max=t;
   }else{
    max=max.compareTo(t)>0?max:t;
   }
  }
  returnmax;
 }

 /**
 *求和
 *@paramvalues
 *@throwsNullPointerExceptionif(values==null||values.contain(null))
 *@return
 */
 publicstaticIntegersum(Collection<Integer>values){
  checkNotNull(values);
  intsum=0;
  for(Integerinteger:values){
   checkNotNull(integer);
   sum+=integer;
  }
  returnsum;
 }

 /**
 *@seeMathUtil#sum(Collection)
 *@paramts
 *@return
 */
 publicstaticIntegersum(Integer...ts){
  returnsum(Lists.newArrayList(ts));
 }

}