如何将结果集放入数组列表



我试图将结果集放入列表<对象[]>。这是我的代码

List<CSVRaportDescription[]> result = new ArrayList<>();
List<CSVRaportDescription> csvRaportDescList = new ArrayList<>();
ResultSet resultSet = dataSource.executeQuery(query.toString().replace("?", dayList.toString()));
resultSet.forEach(row->{
    csvRaportDescList.add(new CSVRaportDescription(row.getObject("value")));
});
CSVRaportDescription[] csvRaportArray = csvRaportDescList.toArray(new CSVRaportDescription[csvRaportDescList.size()]);
result.add(csvRaportArray);

有什么方法可以使其更快?

首先,我将Resultset放入列表&lt;对象>然后to对象[],最后我将其添加到list&lt;对象[]>。这似乎是最长的方法,但是我无法将其重构以提高质量。

如果流式传输结果List,则可以跳过中间列表。

CSVRaportDescription[] result = resultSet.all().stream()
    .map(row -> new CSVRaportDescription(row.getObject("value")))
    .toArray(CSVRaportDescription[]::new);
return Collections.singletonList(result);

这是否更快,您必须测量。

相关内容

  • 没有找到相关文章

最新更新