当前位置: 首页 > news >正文

【机试题】编写一个Java函数,实现批量获取数据的功能

题目:编写一个Java函数,实现批量获取数据的功能(BService.get(List ids))。具体要求如下:
1)提供一个函数BService.get(List ids),支持最多传入100个id;
2)在BService.get((List ids)函数内部,需要将传入的id列表分批(每批10个id)进行调用AService.get(List ids)函数获取数据;
3)BService.get((List ids)函数需要返回所有批次获取的数据的合并结果,即一个包含所有数据的List;

import java.util.ArrayList;
import java.util.List;public class BService {private AService aService;public BService(AService aService) {this.aService = aService;}public List<Integer> get(List<Integer> ids) {List<Integer> result = new ArrayList<>();if (ids == null || ids.size() == 0) {return result;}int batchSize = 10;int batchCount = (ids.size() + batchSize - 1) / batchSize;for (int i = 0; i < batchCount; i++) {int start = i * batchSize;int end = Math.min(start + batchSize, ids.size());List<Integer> batchIds = ids.subList(start, end);List<Integer> batchResult = aService.get(batchIds);result.addAll(batchResult);}return result;}
}

相关文章:

  • uniapp 本身就是一个坑,里面还有无数的小坑
  • odoo16前端框架源码阅读——启动、菜单、动作
  • 【Delphi】 各个平台使用 ntfy 效果说明
  • laravel8-rabbitmq消息队列-实时监听跨服务器消息
  • 使用venv 创建虚拟环境
  • 如何安装Node.js? 创建Vue脚手架
  • 【Springboot】基于注解式开发Springboot-Vue3整合Mybatis-plus实现分页查询(二)——前端el-pagination实现
  • 深度学习_11_softmax_图片识别代码原理解析
  • helm 常用命令搜集 —— 筑梦之路
  • Nginx(五)
  • SpringBoot 使用EasyExcel 导出Excel报表(单元格合并)
  • linux入门---自旋锁和读写锁
  • Python 使用tkinter复刻Windows记事本UI和菜单功能(二)
  • MCU平台使用SPI-DirectC实现FPGA在线升级
  • 人工智能基础——图像认知与OpenCV
  • Android优雅地处理按钮重复点击
  • django开发-定时任务的使用
  • echarts的各种常用效果展示
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • orm2 中文文档 3.1 模型属性
  • supervisor 永不挂掉的进程 安装以及使用
  • 基于Android乐音识别(2)
  • 聊聊sentinel的DegradeSlot
  • 如何使用 JavaScript 解析 URL
  • 十年未变!安全,谁之责?(下)
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 思维导图—你不知道的JavaScript中卷
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 译米田引理
  • FaaS 的简单实践
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # Apache SeaTunnel 究竟是什么?
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #{}和${}的区别是什么 -- java面试
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (2)MFC+openGL单文档框架glFrame
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (三)elasticsearch 源码之启动流程分析
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)Dubbo快速入门、介绍、使用
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)socket Aio demo
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .net 7 上传文件踩坑
  • .NET CORE Aws S3 使用
  • .NET Core 成都线下面基会拉开序幕
  • .Net Core和.Net Standard直观理解
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET 读取 JSON格式的数据
  • .NET 指南:抽象化实现的基类
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项