Você pode usar um java.util.Comparator. Assumindo que as classes são:
publicclassCliente{privateStringnome,cpf;}publicclassTaxi{privateStringmotorista,codigo;}publicclassChamada{privateClientecliente;privateTaxitaxi;privateStringcodigo;}// todas com construtores, getters, setters, etc
Basta criar os Comparator's de acordo com o critério desejado:
Como o nome e o motorista são strings, eu aproveitei o método compareTo já existente, que faz a comparação entre elas. E dentro de cada Comparator eu indico o campo que será usado para ordenar a lista: no primeiro caso é o nome do cliente, no segundo é o motorista do táxi.