Java: ¿obtener el máximo valor de una lista de objetos?

¿Hay una manera fácil de obtener el valor máximo de un campo de un objeto en una lista de objetos?

Por ejemplo, fuera del siguiente objeto, esperaba obtener el valor más alto para el campo Valor.

Ejemplo de arraylist Quiero obtener el valor máximo para ValuePairs.mValue de.

ArrayList<ValuePairs> ourValues = new ArrayList<>();
outValues.add(new ValuePairs("descr1", 20.00));
outValues.add(new ValuePairs("descr2", 40.00));
outValues.add(new ValuePairs("descr3", 50.00));

Clase para crear objetos almacenados en arraylist:

public class ValuePairs {

    public String mDescr;
    public double mValue;

    public ValuePairs(String strDescr, double dValue) {

        this.mDescr = strDescr;
        this.mValue = dValue;

    }

}

Estoy tratando de obtener el valor máximo para mValue haciendo algo como (que sé que es incorrecto):

double dMax = Collections.max(ourValues.dValue);

dMax debe ser de 50.00.

Cualquier ayuda es apreciada. ¡Gracias!