我在尝试做一些我希望非常简单的事情时会遇到各种各样的问题。我有一个浮点值的ArrayList,我想以列表的形式返回列表中的最小值。我期待这样的事情发挥作用:
public float getMin(){
float min = Collections.min(Arrays.asList(listOfThings)));
return min;
}
但我一直遇到大量不兼容问题。
最有效的方法是什么?
由于
答案 0 :(得分:4)
如果您使用Collection作为通用,Collection.min
会返回Object
,因此您应该将其转换。
这样做:
Object obj = Collections.min(arrayList);
Float f = Float.parseFloat(obj.toString());
return f.floatValue();
或者只需将ArrayList
定义为
ArrayList<Float>
并且您无需转换它。
答案 1 :(得分:2)
如果您使用的是Java8,则可以使用stream对象来实现目标:
float value = list.stream().min(Comparator.<Float>naturalOrder()).get();