我一直很难弄清楚如何将gather(df,var,val,-year) %>% inner_join(curationdf,"year") %>%
filter((var==v1)|(var==v2)) %>%
mutate(var=ifelse(var==v1,"v1","v2")) %>% spread(var,val)
传递给Spring的IteratorItemReader
基本上,这就是我从远程API检索数据的地方:
Map
有问题的部分是当我尝试将此数据传递到Map<Structure, List<Structure>> data = getData();
IteratorItemReader
;
我得到的错误是:deleg = new IteratorItemReader<>(data)
。以前,我只是将Cannot infer argument(unable to resolve constructor)
传递给ArrayList
,所以播放效果很好。因此,现在有了IteratorItemReader
时,由于我对Java没有真正的经验,所以我不确定该怎么做。任何帮助表示赞赏。在调用Map
的地方,我真的没有空间进行数据处理,因此我需要找到一种方法来将其传递给IteratorIteamReader
,然后再在代码的不同部分处理数据。
答案 0 :(得分:1)
地图不是可迭代的,但EntrySet是。
使用此-
IteratorItemReader<Entry<Structure, List<Structure>>> deleg = new IteratorItemReader<>(data.entrySet());
System.out.println(deleg.read());
答案 1 :(得分:1)
IteratorItemReader仅接受实现Iterable的参数。一个Map不可迭代,但是例如Map的entrySet是。
deleg = new IteratorItemReader<>(data.entrySet());