Нет, Arrays.max или аналог не существует, по крайней мере, в Java 6.
Если вы посмотрите на сигнатуру и реализацию Collections.max, она довольно интенсивно использует параметризованные типы. В Java универсальные массивы, по меньшей мере, проблематичны, поэтому, возможно, поэтому нецелесообразно предоставлять универсальную максимальную реализацию для массивов в Java и сохранять акцент на (универсальных) коллекциях.
Редактировать: как правильно указывает newacct, использование универсальных массивов *1005* не обязательно более проблематично, чем использование универсальных коллекций, поэтому я отредактировал приведенный выше текст, поскольку оригинал был неверным. Тем не менее, по моему мнению, основной аргумент «универсальные массивы являются проблематичными» все еще действителен, и коллекции должны быть предпочтительнее массивов ссылочных типов.
public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp) {
if (comp==null)
return (T)max((Collection<SelfComparable>) (Collection) coll);
Iterator<? extends T> i = coll.iterator();
T candidate = i.next();
while (i.hasNext()) {
T next = i.next();
if (comp.compare(next, candidate) > 0)
candidate = next;
}
return candidate;
}