Поскольку абстракция set , являющаяся подклассом traversable , не имеет никаких гарантий относительно порядка элементов, содержащихся в:
A traversable class might or might not have two properties: strictness and orderedness. Neither is represented as a type.
...
If the class is not ordered, foreach can visit elements in different orders for different runs (but it will keep the same order in the same run).'
Подробнее опочему элементы «искажены»: метод toSet
создает новую коллекцию наборов из некоторой существующей коллекции.Он использует реализацию набора по умолчанию для этой новой коллекции наборов.Реализация набора по умолчанию основана на хеш-таблице.В хеш-таблице порядок элементов не определен.