// 1. 获取原有的分页对象列表 System.out.println("原始数组"); List<Dog> originalList = getList(); for (Dog dog : originalList) { System.out.println(dog.toString()); } // 2. 从列表中删除第25、26、27项,并记录它们的位置和值 List<Dog> removedItems = new ArrayList<>(); removedItems.add(originalList.remove(26)); // 第27项 removedItems.add(originalList.remove(25)); // 第26项 removedItems.add(originalList.remove(24)); // 第25项 System.out.println("删除后数组"); for (Dog dog : originalList) { System.out.println(dog.toString()); } // 3. 将剩余的项按照原有的分页规则进行分页 int pageSize = 10; // 每页显示10项 int totalItems = originalList.size(); int totalPages = (int) Math.ceil((double) totalItems / pageSize); List<List<Dog>> pageList = new ArrayList<>(); for (int i = 0; i < totalPages; i++) { int fromIndex = i * pageSize; int toIndex = Math.min(fromIndex + pageSize, totalItems); pageList.add(originalList.subList(fromIndex, toIndex)); } // 4. 将删除的项插入到第5页的最后一项之后 int insertIndex = 0; // 第5页的最后一项 List<Dog> fifthPage = pageList.get(4); for (Dog item : removedItems) { fifthPage.add(insertIndex++, item); } // 5. 返回新的分页对象列表 List<Dog> newPageList = new ArrayList<>(); for (List<Dog> page : pageList) { newPageList.addAll(page); } for (Dog dog : newPageList) { System.out.println(dog.toString()); }巴平措
时间: 2024-02-14 22:24:10 浏览: 67
这段代码的功能是将一个列表进行分页,并在指定页码的最后插入一些删除的项。
具体来说,代码先获取原始列表,然后从中删除第25、26、27项,并记录下来。接着按照指定的页码大小对原始列表进行分页,得到一个分页列表。最后将删除的项插入到第5页的最后一项之后,再将分页列表合并成一个新的列表并输出。
需要注意的是,这段代码中的Dog类使用了Lombok注解,需要先安装Lombok插件才能编译通过。同时,分页的算法可能不是最优的,例如当列表大小不能被页码大小整除时可能会出现问题。
阅读全文