java集合求和最大值最小值示例分享_Java教程-查字典教程网
java集合求和最大值最小值示例分享
java集合求和最大值最小值示例分享
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:packagecom.happyelements.athene.game.util;importstaticcom.goo...

复制代码 代码如下:

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));

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类