flatMap 算子

// F_KJQJ 会计期间

private static List<String> kjqjList = Arrays.asList("202208", "202209");

// F_KMBH 科目编号
private static List<String> kmbhList = Arrays.asList("1001", "1002");

// F_CODE 责任中心
private static List<String> codeList = Arrays.asList("201222221002", "201222221003", "201222221004");

 

需要计算上面三个维度的笛卡尔积组合,调用远程fmis接口获取数据。


public final static String delimiter = " ";

public static List<String> descartes(List<String>... lists) {

List<String> result = new ArrayList<>();
for (List<String> list : lists) {
if (CollectionUtils.isEmpty(result)) {
result = list;
} else {
result = result.stream().flatMap(itemParent -> list.stream().map(itemChild -> itemParent + ToolsUtil.delimiter + itemChild))
.collect(Collectors.toList());
}
}
return result;

}


List<String> descartesList = ToolsUtil.descartes(kjqjList, kmbhList, codeList);

for (String descartes : descartesList) {
    //rpc
}
posted @   163博客  阅读(19)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示