Java: Cómo ordenar el tipo personalizado ArrayList

Tengo un tipo personalizadoPosition(x,y,z), ahora creo unArrayList<Position>, quiero ordenar esta matriz ordenada por el valor de z, de pequeña a mayor, ¿cómo puedo hacer eso usandoCollections.sort¿O hay algún otro método de clasificación eficiente?

Cuando trato de 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());

        }

    }

obtener un error

Cannot invoke compareTo(double) on the primitive type double

Respuestas a la pregunta(4)

Su respuesta a la pregunta