提供一个函数BService.get(List<Integer> ids),支持最多传入100个id;
时间: 2024-05-15 15:12:26 浏览: 60
Java8 将List<Integer> 转换成以逗号分割的String字符串
以下是一个可能实现的 Java 函数:
```java
public List<Object> get(List<Integer> ids) {
if (ids == null || ids.isEmpty()) {
return Collections.emptyList();
}
int batchSize = Math.min(ids.size(), 100);
List<Object> results = new ArrayList<>(ids.size());
for (int i = 0; i < ids.size(); i += batchSize) {
List<Integer> batchIds = ids.subList(i, Math.min(i + batchSize, ids.size()));
// 执行获取数据的逻辑,将结果添加到 results 中
// 示例代码:
List<Object> batchResults = fetchDataFromDB(batchIds);
results.addAll(batchResults);
}
return results;
}
```
这个函数首先判断传入的 `ids` 是否为空,若为空则直接返回一个空的结果集合。然后,根据传入的 `ids` 集合的大小,计算出批次大小 `batchSize`,以便将所有的 `ids` 分批处理。在循环中,每次取出一个批次的 `ids`,执行获取数据的逻辑,并将结果添加到 `results` 中。最后返回所有批次的结果。
阅读全文