加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 将列表转换为包含10个项目的列表

发布时间:2020-12-15 00:40:53 所属栏目:Java 来源:网络整理
导读:我有一个pojos列表.将此pojos列表转换为List列表,其中每个子列表的大小为10或更小.因此,例如,将大小为13的List转换为两元素List.第一个元素是一个包含10个项目的列表,第二个元素是一个列表3个项目. 所以数据结构是List List pojo 要创建此列表列表: ListLis
我有一个pojos列表.将此pojos列表转换为List列表,其中每个子列表的大小为10或更小.因此,例如,将大小为13的List转换为两元素List.第一个元素是一个包含10个项目的列表,第二个元素是一个列表3个项目.

所以数据结构是List< List< pojo>>

要创建此列表列表:

List<List<pojo>> pojoList
counter = 0;
initialise new tempList
iterate list
add current pojo to temp list
if counter = 10 then add tempList to pojoList
reset counter and tempList and continue until list is iterated

有替代解决方案吗?

解决方法

使用 sublist
List<Pojo> originalList.... //your list of POJOs  
List<List<Pojo>> pojoList = new ArrayList<List<Pojo>>(originalList/10 + 1);  
for(int i = 0; i < originalList.size(); i+=10){  
    if(i + 10 > originalList.size()){  
         pojoList.add(originalList.subList(i,originalList.size()));
    }
    else{
         pojoList.add(originalList.subList(i,i + 10));  
    }  
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读