Я ищу способ определить, гарантированно ли Collection (или, может быть, даже любой Iterable) упорядочен в соответствии с классовым контрактом.
Я уже знаю метод гуавы: Ordering.natural().isOrdered(myCollection)
Но этот метод не соответствует моим потребностям, потому что он проверяет, упорядочены ли значения внутри коллекции. Это не то, что мне нужно, чтобы определить, что я хочу иметь, это метод isSorted
, который будет вести себя так:
isSorted(new HashSet()) -> false
isSorted(new ArrayList()) -> true
и т.д ...
То, на что я смотрю, обычно реализуется путем проверки класса коллекции и сравнения его с некоторой справочной таблицей коллекций, в контракте которых указано, что они упорядочены, и возвращают только true для этих. *
Знаете ли вы, существует ли что-то подобное в какой-то библиотеке?