Задача такова: Необходимо спроектировать интерфейсы, классы и методы. Использовать лямбда, функциональные интерфейсы и default метод.
Как можно преобразовать следующий код под вышеперечисленные задачи? Просьба подтолкнуть к решению : )
Можно попробовать в лямбда закинуть весь нижестоящий код, но не уверен, что это корректно. Так же не пойму как можно в данном случае использовать default метод (а именно-куда его впихнуть под задачу)
//Суть метода заключается в том, что он должен попарно сложить рядом стоящие элементы, пока не получим сумму всех чисел.
Set<Integer> addEntryes(Set<Integer> numSeries){
int finalEntryEmount= numSeries.size()/2; //сколько должно быть пар в итоге.
//Нужно при непарном колличестве элементов в Сете для своевременного выхода на последнем элементе
Set<Integer> entry = new LinkedHashSet<>();//Здесь будет хранится наши пары
boolean entryFlag=false;
int sumOFEntry=0;// переменная суммы для двух соседних чисел
int cuurEnryes=0;//считаем, сколько было создано пар
for (Integer digit: numSeries) {
if(entryFlag==false){
entryFlag=true;
sumOFEntry+=digit;
if(finalEntryEmount==cuurEnryes)entry.add(sumOFEntry);
}
else{
entryFlag=false;
sumOFEntry+=digit;
entry.add(sumOFEntry);
cuurEnryes++;
sumOFEntry=0;
}
}
if(entry.size()!=1) entry=addEntryes(entry);
return entry;
}