我知道如何找到数组中的最小值和最大值。如果一个方法被称为 fMax():
public static double fMax(Object[] stuff)
参数是一个数组对象,我如何找到该数组的最大值?我不能就这么做。好的,如果我希望该方法返回一个 double 值,并且尚未为名为 stuff 的参数分配内存,那么它将返回 Double
中的值 NEGATIVE_INFINITY
,我该怎么做? code> 类,否则返回值将是 stuff 数组中元素的最大值
Object max = stuff[0];
for (int i = 0; i < stuff.length; i++) {
if (data[i] > max) {
max = stuff[i];
}
}
最佳答案
要找到某物的最大值,要么 a) 某些东西需要实现 Comparable 接口(interface) b)您需要有某种明确的标准来确定最大值,因此您可以将其放入 Comparator 的实例中
对象本身不会有任何对排序有用的东西。如果您对对象进行子类化,则可以根据该对象的组件进行排序。
public class Example implements Comparable
{
int sortableValue = 0;
public Example (int value)
{
this.sortableValue = value;
}
public int compareTo(Example other)
{
return Integer.compare(this.sortableValue, other.sortableValue);
}
}
这是一个具有自然排序顺序的对象定义。 Java 可以使用任何内置的排序算法来查看它们并知道它们所属的顺序。
如果你没有为 java 提供一种方法来确定一个对象与相同类型的另一个对象相比如何具有更大或更少的相对值,它就不会自行计算出来。
关于java - 数组对象和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34915937/