С Collection все понятно, но как насчет следующего:
Существует object с методом count() и getPart(int i). Таким образом, извлечение всех объектов приводит к следующему шаблону:
List<Part> result = new ArrayList<Part>();
for (int i = 0, i < object.count(), i++) {
result.add(object.getPart(i));
}
return result.stream();
Есть ли стандартный способ передать всего 2 производителя: () -> object.count() и (int i) -> object.getPart(i) для создания потока? Вот так:
SomeUtil.stream(object::count, object::getPart);