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

前端之家收集整理的这篇文章主要介绍了java – 将列表转换为包含10个项目的列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个pojos列表.将此pojos列表转换为List列表,其中每个子列表的大小为10或更小.因此,例如,将大小为13的List转换为两元素List.第一个元素是一个包含10个项目的列表,第二个元素是一个列表3个项目.

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

要创建此列表列表:

  1. List<List<pojo>> pojoList
  2. counter = 0;
  3. initialise new tempList
  4. iterate list
  5. add current pojo to temp list
  6. if counter = 10 then add tempList to pojoList
  7. reset counter and tempList and continue until list is iterated

有替代解决方案吗?

解决方法

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

猜你在找的Java相关文章