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

java 给list对象根据给定条数进行分组工具类

java 给list对象根据给定条数进行分组工具类

下面是一个示例的工具类,可以根据给定的条数对Student对象的List进行分组:

import java.util.ArrayList;
import java.util.List;public class StudentGroupUtil {public static List<List<Student>> groupStudents(List<Student> students, int groupSize) {List<List<Student>> result = new ArrayList<>();int size = students.size();int groupCount = (size + groupSize - 1) / groupSize; // 计算分组个数for (int i = 0; i < groupCount; i++) {int start = i * groupSize; // 计算起始索引int end = Math.min((i + 1) * groupSize, size); // 计算结束索引List<Student> group = students.subList(start, end); // 获取子列表作为分组result.add(group);}return result;}
}

使用示例:

import java.util.ArrayList;
import java.util.List;public class Main {public static void main(String[] args) {List<Student> students = new ArrayList<>();students.add(new Student("Alice", 18));students.add(new Student("Bob", 20));students.add(new Student("Charlie", 22));students.add(new Student("David", 24));students.add(new Student("Emma", 26));List<List<Student>> groups = StudentGroupUtil.groupStudents(students, 2);for (List<Student> group : groups) {System.out.println("Group:");for (Student student : group) {System.out.println("Name: " + student.getName() + ", Age: " + student.getAge());}System.out.println();}}
}class Student {private String name;private int age;public Student(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public int getAge() {return age;}
}

输出结果:

Group:
Name: Alice, Age: 18
Name: Bob, Age: 20Group:
Name: Charlie, Age: 22
Name: David, Age: 24Group:
Name: Emma, Age: 26

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 视频中的噪点怎么去除?
  • ES之三:springboot集成ES
  • JavaScript基础面试题:(第二天)
  • 搞定JavaScript异步原理,深入学习Promise
  • 什么是TypeScript?
  • python测试开发基础---multiprocessing.Pool
  • 机器人笛卡尔空间轨迹规划原理与MATLAB实现
  • OpenXR Monado compositor处理应用layers(cheduled->delivered)
  • 深入掌握 Go 语言中的数值类型与循环技巧
  • Gitlab删除本地标签和分支
  • 【操作系统原理】第三章——进程线程模型(上)
  • 【Python 千题 —— 算法篇】重复字符查找
  • 把设计模式用起来!(2)
  • 【全网首发】2024数学建模国赛E题31页word版成品论文【附带完整解题代码+可视化图表】
  • PostgreSQL的基础知识
  • Google 是如何开发 Web 框架的
  • [译]前端离线指南(上)
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【面试系列】之二:关于js原型
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • C学习-枚举(九)
  • EventListener原理
  • javascript 哈希表
  • js正则,这点儿就够用了
  • Redis的resp协议
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 百度地图API标注+时间轴组件
  • 从PHP迁移至Golang - 基础篇
  • 浮现式设计
  • 构造函数(constructor)与原型链(prototype)关系
  • 简单数学运算程序(不定期更新)
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何使用 JavaScript 解析 URL
  • 三栏布局总结
  • 使用common-codec进行md5加密
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 线上 python http server profile 实践
  • 应用生命周期终极 DevOps 工具包
  • 【云吞铺子】性能抖动剖析(二)
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • # .NET Framework中使用命名管道进行进程间通信
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计高校学生选课系统
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树