Java - obtendo o valor máximo de um arraylist de objetos?

Existe uma maneira fácil de obter o valor máximo de um campo de um objeto em um arraylist de objetos?

Por exemplo, fora do objeto a seguir, eu esperava obter o valor mais alto para o campo Valor.

Arraylist exemplo Eu quero obter o 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));

Classe para criar objetos armazenados no arraylist:

public class ValuePairs {

    public String mDescr;
    public double mValue;

    public ValuePairs(String strDescr, double dValue) {

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

    }

}

Eu estou tentando obter o valor máximo de mValue, fazendo algo como (que sei que é incorreto):

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

dMax deve ser de 50,00.

Qualquer ajuda é apreciada. Obrigado!