Изменение ключей HashMap во время итерации

можно ли изменить ключи одного и того же экземпляра HashMap во время итерации? Поскольку набор записей карты не имеет метода entry.setKey (). Теперь я могу придумать, как создать еще одну HashMap ...

MultipartParsingResult parsingResult = parseRequest(request);

Map<String, String[]> mpParams = parsingResult.getMultipartParameters();
Map<String, String[]> mpParams2 = new HashMap<String, String[]>();

Iterator<Entry<String,String[]>> it = mpParams.entrySet().iterator();

while (it.hasNext()) {
    Entry<String,String[]> entry = it.next();
    String name = entry.getKey();

    if (name.startsWith(portletNamespace)) {
        mpParams2.put(name.substring(portletNamespace.length(), name.length()), entry.getValue());
    }
    else {
        mpParams2.put(name, entry.getValue());
    }
}
18
задан lisak 21 November 2010 в 00:25
поделиться