У меня есть отличный код, который использует потоки,
List<MolportEntryVerification> verificationList = molportEntries.stream()
.peek{if(i++%50 == 0){println(df.format(i/count))}}
.map({entry -> verifier.verifyEntry(entry, new Standardizer(molportConfig), new Standardizer(bciConfig))})
.collect(Collectors.toList())
дают начало:
Пойман: groovy.lang.MissingMethodException: Нет подписи метода: java.util.stream.ReferencePipeline $ Head.peek () применим для типов аргументов: (MolportFileVerification $ _run_closure1) значения: [MolportFileVerification $ _run_closure1 @ d62472f]
Возможные решения: peek (java.util.function.Consumer), grep (), sleep (long), use ([Ljava.lang.Object;), grep (java.lang.Object), wait ()
long count = molportEntries.stream (). Count ();
работает без сообщения об ошибке.
molportEntries - это список BasicMolportEntry, который является простым классом Java
public class BasicMolportEntry {
public BasicMolportEntry(String molportId, String etxcId, String smiles) {
this.molportId = molportId == null ? "" : molportId;
this.etxcId = etxcId == null ? "" : etxcId;
this.smiles = smiles;
}
плюс все обычные ...
Есть предложения?