Информация об изменениях

Сообщение стыдно....но спрошу от 16.03.2017 16:51

Изменено 17.03.2017 5:57 Blazkowicz

стыдно....но спрошу
не кидайтесь тапками плиз, превратилась совсем в говнокодершу. может, старость.

есть такой код:
for (ListIterator<Double> it = list.listIterator(); it.hasNext(); ) {
            Double value = it.next();
            Double refValue = null;

if (value != 0) {
                if (value < 0 && it.hasNext()) {
                    refValue = it.next();
                    it.previous();
                } else if (value > 0 && it.hasPrevious()) {
                    it.previous();
                    refValue = it.previous();
                    it.next();it.next();
                }
}
        ... //какие-то операции с value и refValue
}


што он делает — проходится по отсортированному списку из чисел (вида -100, -90, -2, 0, 3, 50) , и для каждого из чисел (кроме центрального — 0) находит "пару" — в зависимости оттого если число отрицательное или положительное — это или следующее число в списке, либо предыдущее. ноля быть не может. зачем такое надо не спрашивайте !!

вопрос — как переписать этот уродский код чтоб было красивее. одобряется использование фич джавы 8 — если они тут подойдут

спасибо
стыдно....но спрошу
не кидайтесь тапками плиз, превратилась совсем в говнокодершу. может, старость.

есть такой код:
for (ListIterator<Double> it = list.listIterator(); it.hasNext(); ) {
    Double value = it.next();
    Double refValue = null;
    if (value != 0) {
        if (value < 0 && it.hasNext()) {
            refValue = it.next();
            it.previous();
        } else if (value > 0 && it.hasPrevious()) {
            it.previous();
            refValue = it.previous();
            it.next();
            it.next();
        }
    }
    ... //какие-то операции с value и refValue
}


што он делает — проходится по отсортированному списку из чисел (вида -100, -90, -2, 0, 3, 50) , и для каждого из чисел (кроме центрального — 0) находит "пару" — в зависимости оттого если число отрицательное или положительное — это или следующее число в списке, либо предыдущее. ноля быть не может. зачем такое надо не спрашивайте !!

вопрос — как переписать этот уродский код чтоб было красивее. одобряется использование фич джавы 8 — если они тут подойдут

спасибо