我有一个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));
- }
- }