Mapas canônicos em java

Estou estudando o Livro Java Efetivo, no capitulo 10 Item 69, surge o termo “mapas canônicos”.
Procurei bastante mas não encontrei nada que me ajudasse, alguém poderia ajudar ou indicar alguma leitura.

Digamos que vc tenha um Map<List<cidades>, float> custoCaminho em que ele iria marcar o custo (gasolina ou distância, por exemplo) de um caminho a determinadas cidades.
Por exemplo, o conjuntoA ={Taubaté, Aparecida, Guaratinguetá} tem o mesmo custo que o caminho B ={Guaratinguetá, Aparecida, Taubaté}. Logo, ao fazer um custoCaminho.get(A) ou um custoCaminho.get(B) do meu mapa eu precisaria que o retorno fosse o mesmo. Isso seria resolvido se a minha lista fosse ordenada, com elementos não repetidos.
Este é um exemplo de mapa canônico.

@Edit:
Achei uma discussão interessante sobre esse assunto (em inglês).

Valeu cara !

Vou dar uma estudada no seu exemplo e uma lida no artigo.