Документы Java говорят, что вы должны убедиться, что ваш компаратор транзитивен.Если вы предоставите компаратор, который не соответствует требованиям, все ставки отменены.Он может работать для данной реализации, но может ужасно зависать (std::sort
в C ++ работает) в другой.
Короче говоря, вы не должны полагаться на то, что он работает, даже если он работает для тех или иных примеров.