У меня есть интерфейс Calculate, в котором есть один метод расчета (List priceList) public interface Calculate { public List<Double> calculate(List<Double> priceList); }
Каждая реализация этого интерфейса будет выполнять некоторые вычисления и проверять некоторые условия для значений priceList и удовлетворяет ли условиена этом значении цены он вернет список удовлетворяющих значений из прайс-листа в качестве вывода.
Пример.
`public class CalculateImpl1 implements Calculate {
@Override
public List<Double> calculate(List<Double> priceList) {
List<Double> result = new AL();
loop the priceList
if(condition1 satisfies on priceList value) {
result.add(value);
}
return result;
}
}
public class CalculateImpl2 implements Calculate {
@Override
public List<Double> calculate(List<Double> priceList) {
List<Double> result = new AL();
loop the priceList
if(condition2 satisfies on priceList value) {
result.add(value);
}
return result;
}
}`
Допустим, есть класс с данными priceList, и я могу применить вычисление к этому PriceList, используя любую реализацию интерфейса Calculate.
Вопрос: Как добиться, если я хочуприменить все вычисления (CalculateImp1 / condition1, CalculateImpl2 / condition2 ....) к priceList одновременно, значит, priceList должен удовлетворять всем условиям и получить вывод?