我尝试在内部数据库表的模拟开始时填充double [8760]类型的数组参数。此表具有hourofyear列和每个参数的列。我的代码正在运行但处理数据非常慢:
for (int row_counter=0;row_counter<= 8759; row_counter++) {
ProfileParameterA[row_counter] = selectFrom(data)
.where(data.hourofyear.eq(row_counter))
.uniqueResult(data.a, double.class);
ProfileParameterB[row_counter] = selectFrom(data)
.where(data.hourofyear.eq(row_counter))
.uniqueResult(data.b, double.class);
}
有关如何改进导入以将表格数据加载到参数中的任何建议吗?
非常感谢。
亨氏-S
答案 0 :(得分:0)
试试这个:
ProfileParameterA = selectFrom(data)
.where(data.hourofyear.eq(row_counter))
.list(data.a).stream().mapToDouble( d -> d ).toArray();
ProfileParameterB = selectFrom(data)
.where(data.hourofyear.eq(row_counter))
.list(data.b).stream().mapToDouble( d -> d ).toArray();
它是Java Stream API的一部分,便于使用功能样式的列表,数组和集合。