Здравствуйте, ЕщеНеПридумал, Вы писали:
ЕНП>>>Map sortedList = new HashMap( myHashingStrategy, myEqualizerStrategy ); // на оригинальность и правильность названия не претендую
GIV>>Тем что в java это запрещено см. доки к интерфейсам мапа\сета.
ЕНП>Если ко всем правилам по реализации equals и hashCode добавить что должна использоваться одна и таже стратегия то проблем не вижу.
ЕНП>Причем стратегия задается на уровне коллекции а не объекта.
ЕНП>Ее можно разрешить задавать только при создании коллекции и не позволять менять у уже созданной.
http://java.sun.com/javase/6/docs/api/java/util/Map.html
Там же английским по белому написано
Many methods in Collections Framework interfaces are defined in terms of the equals method.
Ты можешь делать любые (в том числе и с myEqualizerStrategy) коллекции, но если реализуешь Map или Set ты должен следовать этим правилам — equals, equals и только equals и никаких стратегий. LSP ведь никто не отменял.