Я понимаю, что Set, возвращаемый с помощью метода map keySet(), не гарантирует какого-либо конкретного порядка.
Мой вопрос заключается в том, что он гарантирует тот же порядок по нескольким итерациям. Например
Map<K,V> map = getMap();
for( K k : map.keySet() )
{
}
...
for( K k : map.keySet() )
{
}
В приведенном выше коде, предполагая, что карта не изменена, будет ли итерация над наборами ключей в том же порядке. Используя Sun jdk15, он выполняет итерацию в том же порядке, но прежде чем я буду зависеть от этого поведения, я хотел бы знать, будут ли все JDK делать то же самое.
ИЗМЕНИТЬ
Из ответов я вижу, что от этого я не могу. Очень жаль. Я надеялся уйти от необходимости не создавать новую коллекцию, чтобы гарантировать мой заказ. Мой код, необходимый для повторения, выполнения некоторой логики, а затем повторного повторения с тем же заказом. Я просто создаю новый ArrayList из keySet, который будет гарантировать порядок.