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

时间:2021-05-19

复制代码 代码如下:
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));
}

}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章