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