List 转二维 List

这是一个大集合sList
<c:forEach items="{sList}" var="subList"\> 其中包括小集合subList,遍历歌手的信息 \songer0, songer1, songer2, songer3, songer4, songer5, songer6,songer7...这是一个 一维集合
//取出歌手的信息,拿到集合 List<Songer> list = page.getList();
接着创建List>,这是一个 **二维集合,**名字叫做sList ,结构是:
sList = \[songer0, songer1, songer2, songer3, songer4,
songer5, songer6, songer7, songer8, songer9,
...
]
List<List<Songer>> sList = new ArrayList<>();
分组逻辑
5个一组,所以对5取余

  • i = 0
    • 0 % 5 == 0 → 新建一个 subList
  • 把第 0 个歌手放进去
  • i = 1 ~ 4
  • 继续往当前 subList 里塞
  • i = 5
    • 5 % 5 == 0 → 再新建一个 subList
  • 放第 6 个歌手
    for(int i =0; i < list.size(); i++){ if(i%5 == 0){ subList = new ArrayList<>(); sList.add(subList); } Songer songer = list.get(i); subList.add(songer); }
    最终得到的结构是:
    sList
    ├─ subList0 (5 个 Songer)
    ├─ subList1 (5 个 Songer)
    ├─ subList2 (5 个 Songer)
    model里放sList
    model.addAttribute("sList",sList);
    总结:
    首先访问首页,首页调controller接口,接口把流派信息和歌手5个一组返回去,交给前端处理,处理完呈现页面
相关推荐
XiYang-DING10 分钟前
P4104.环形链表判断
数据结构·链表
2501_9160074729 分钟前
Windows OpenSSL 生成 iOS 证书,制作 p12 与描述文件,KXBuild 签名实操
windows·vscode·ios·objective-c·个人开发·swift·敏捷流程
逆向编程1 小时前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab
椒颜皮皮虾྅3 小时前
模型部署不再卡在环境上:DeploySharp 四大推理引擎与 Windows/Linux 离线交付实战
linux·运维·开发语言·人工智能·windows·计算机视觉·cuda
昂好的day3 小时前
C# 同步异步与多线程:Thread / Task / 线程池一次讲透(上篇)
开发语言·windows·c#
垆边人似月.3 小时前
Ubuntu 配置 Samba 共享文件夹并映射到 Windows 完整指南
linux·windows·ubuntu
m0_6399069412 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
BIBI204914 小时前
换 Git 托管平台怎么做?基于 TortoiseGit 的跨平台迁移教程
windows·git·tortoisegit·问题解决·版本控制·最佳实践
chushiyunen15 小时前
autoHotKey、windows自动化快捷键工具
运维·windows·自动化