Java: Como classificar o tipo personalizado ArrayList

Eu tenho um tipo personalizadoPosition(x,y,z), agora eu crio umArrayList<Position>, eu quero classificar esta matriz ordenada pelo valor de z, de pequeno a maior, como posso fazer isso usandoCollections.sortou existe algum outro método de classificação eficiente?

Quando tento usar

public class PositionComparator implements Comparator<Position> {

        @Override
        public int compare(Position o1, Position o2) {
            // TODO Auto-generated method stub
            return o1.height().compareTo(o2.height());

        }

    }

receber um erro

Cannot invoke compareTo(double) on the primitive type double

questionAnswers(4)

yourAnswerToTheQuestion