Я хочу оптимизировать свой код, и для этого я хочу параллельно выполнять итерацию через Maps.Параллельная итерация в FOR EACH Loop
Мой текущий код:
for (String orderKey: insertMap.keySet()) {
if(orderKey.contains('#New')) {
//Do big stuff: (500 lines)
}
}
for (String orderKey: updateMap.keySet()) {
if(orderKey.contains('#New')) {
//Do same big stuff as above: (500 lines)
}
}
EDIT: Добавление типов Карта
Map<String,CustomObject> insertMap,updateMap = new Map<String,CustomObject>();
Теперь, как вы можете видеть, то внутреннее IF
состояние такое же, только значения из orderKey
происходят с разных карт.
Значения orderKey
будут отличаться от каждой Карты. Они никогда не будут прежними.
Есть ли способ объединить эти FOR
Петли в одном? Может быть, как:
for((String orderKey : insertMap.keySet()) OR (String orderKey : udpateMap.keySet()))
{
if(orderKey.contains('#New')) {
//Do big stuff
}
}
Я знаю, что приведенный выше код не представляется возможным, я просто хотел показать, что я ищу.
Число линий, которые я замаскировал //Do Big Stuff
, составляет почти 500. И поэтому я хочу уменьшить количество строк кода.
Большое спасибо!
move // Делаем большой материал: (500 строк) в методе и называем его там. если есть какой-то шаг по притирке, перемещайте их одним способом и выполняйте разные шаги в разных методах и вызывайте их оба в if. – StackFlowed
. Каковы типы значений здесь? Пожалуйста, обновите свой код и ваш вопрос, чтобы включить: 1) объявление типа как insertMap, так и updateMap 2) уточнить, будут ли две карты содержать одни и те же клавиши; 3) если обе карты содержат один и тот же ключ, следует делать «Делать большой материал» один раз или дважды для значений на каждой из этих карт? – whaley
@whaley Привет, я добавил требуемое редактирование. Две карты не будут содержать одни и те же клавиши. –