复制代码代码如下:
paket com.happyelements.athene.game.util;
impor statis com.google.common.base.preconditions.checknotnull;
impor java.util.collection;
impor com.google.common.collect.lists;
/**
* Matematika 工具类
*
* @Version 1.0
* @Since 1.0
*/
Mathutil kelas publik {
/**
* @Lihat Mathutil#Min (Koleksi)
* @param ts
* @kembali
*/
Public Static <T memperluas yang sebanding <T>> t min (t ... ts) {
return min (lists.newarraylist (ts));
}
/**
* 取最小值
* Nilai @param
* @throws nullpointerexception if (values == null || values.contain (null))
* @kembali
*/
public static <t meluas yang sebanding <T>> t min (koleksi <T> nilai) {
checknotnull (nilai);
T min = null;
untuk (t t: values) {
checknotnull (t);
if (min == null) {
min = t;
} kalau tidak {
min = min.compareto (t) <0? min: t;
}
}
return min;
}
/**
* @See Mathutil#max (koleksi)
* @param ts
* @kembali
*/
Publik statis <t memperluas yang sebanding <T>> t max (t ... ts) {
return max (lists.newarraylist (ts));
}
/**
* 取最大值
* Nilai @param
* @throws nullpointerexception if (values == null || values.contain (null))
* @kembali
*/
public static <t meluas sebanding <T>> t max (koleksi <T> nilai) {
checknotnull (nilai);
T max = null;
untuk (t t: values) {
checknotnull (t);
if (max == null) {
max = t;
} kalau tidak {
max = max.comppareto (t)> 0? Max: T;
}
}
return max;
}
/**
* 求和
* Nilai @param
* @throws nullpointerexception if (values == null || values.contain (null))
* @kembali
*/
Public Static Integer Sum (Collection <Integer> values) {
checknotnull (nilai);
int sum = 0;
untuk (integer integer: values) {
checknotnull (integer);
jumlah += integer;
}
jumlah pengembalian;
}
/**
* @See Mathutil#Sum (Koleksi)
* @param ts
* @kembali
*/
Public Static Integer Sum (Integer ... TS) {
return sum (lists.newarraylist (ts));
}
}