Если вы собираетесь многократно повторять карту, вы можете найти ее немного быстрее для перебора копии массива.
private final HashMap<String, String> properties = new HashMap<String, String>();
private volatile Map.Entry<String, String>[] propertyEntries = null;
private void updatePropertyEntries() {
propertyEntries = properties.entrySet().toArray(new Map.Entry[properties.size()]);
}
{
// no objects created
for (Map.Entry<String, String> entry : propertyEntries) {
}
}
Кстати: один поток может изменять / заменять propertyEntries при повторении во многих потоках с этим шаблоном.