Я пытаюсь получить доступ к новым потокам java8.Использование Генератор для генерации кортежей в java
мне нужно, чтобы генерировать бесконечный поток кортежей с определенными характеристиками:
Кортежей будут иметь три int
значения, a
, b
и c
.
где b
и c
просто счетчики, которые могут быть сделаны в for
цикле с:
for (int c = 1;; c++) {
for (int b = 1; b < c; b++) {
...
}
}
Я бы затем использовать фильтр для расчета a
Я создал TupleFactory
:
class TupleFactory {
private static int b = 1;
private static int c = 1;
public static Tuple next(){
if (b >= c - 1)
c++;
else
b++;
return new MyTuple (1,b,c);
}
}
, а затем я хотел бы сгенерировать Stream<Tuple>
с:
Supplier<Tuple> anyTuple = s -> TupleFactory.next();
Stream<Tuple> result = Stream.generate(anyTuple);
я получаю: подпись
Lambda Экспрессия не совпадает с подписью функционального метода интерфейса
get()
в строке, где я определить поставщика ...
любые подсказки?
Кроме того, имейте в виду, что это считается очень дурным тоном использовать индексы один на основе. Хорошие джентльмены всегда используют нулевые индексы. –
Спасибо, я знаю, но проблема явно запрещает все нулевое решение, которое хотя и удовлетворяет условиям. –
Рад помочь! –