欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-18 21:01:22
复制代码 代码如下:package com.happyelements.athene.game.util; import static com.google.common...

复制代码 代码如下:

package com.happyelements.athene.game.util;

import static com.google.common.base.preconditions.checknotnull;

import java.util.collection;

import com.google.common.collect.lists;

/**
 * math工具类
 * 
 * @version 1.0
 * @since 1.0
 */
public class mathutil {

 /**
  * @see mathutil#min(collection)
  * @param ts
  * @return
  */
 public static <t extends comparable<t>> t min(t... ts) {
  return min(lists.newarraylist(ts));
 }

 /**
  * 取最小值
  * @param values
  * @throws nullpointerexception if (values == null || values.contain(null))
  * @return
  */
 public static <t extends comparable<t>> t min(collection<t> values) {
  checknotnull(values);
  t min = null;

  for (t t : values) {
   checknotnull(t);
   if (min == null) {
    min = t;
   } else {
    min = min.compareto(t) < 0 ? min : t;
   }
  }
  return min;
 }

 /**
  * @see mathutil#max(collection)
  * @param ts
  * @return
  */
 public static <t extends comparable<t>> t max(t... ts) {
  return max(lists.newarraylist(ts));
 }

 /**
  * 取最大值
  * @param values
  * @throws nullpointerexception if (values == null || values.contain(null))
  * @return
  */
 public static <t extends comparable<t>> t max(collection<t> values) {
  checknotnull(values);
  t max = null;

  for (t t : values) {
   checknotnull(t);
   if (max == null) {
    max = t;
   } else {
    max = max.compareto(t) > 0 ? max : t;
   }
  }
  return max;
 }

 /**
  * 求和
  * @param values
  * @throws nullpointerexception if (values == null || values.contain(null))
  * @return
  */
 public static integer sum(collection<integer> values) {
  checknotnull(values);
  int sum = 0;
  for (integer integer : values) {
   checknotnull(integer);
   sum += integer;
  }
  return sum;
 }

 /**
  * @see mathutil#sum(collection)
  * @param ts
  * @return
  */
 public static integer sum(integer... ts) {
  return sum(lists.newarraylist(ts));
 }

}