集合分页展示,补全最后一页

2024-09-03 01:08

本文主要是介绍集合分页展示,补全最后一页,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发中遇到过把一个固定的集合分页展示的问题,页数和每页展示的条数又是不固定的,而且常出现最后一页或者最后几页需要使用前几页的内容补全的情况


下面是我的解决办法,java代码如下,可以根据该代码调整成js、Freemarker等语言代码:




package com.rq.spring.main;


import java.util.ArrayList;
import java.util.List;


/**
 * 分页展示集合,每页的展示条数固定,集合总条数不固定,也就是会出现最后一页不满的情况
 * 一般采用的办法是把第一页的内容复制,补充到后面
 * 如果展示的页数不固定,则需要把前几页的内容复制,补充到后面
 * 
 * 如有集合:[1, 2, 3, 4, 5],每页展示3条,
 * 页数根据集合定:
 * 则展示两页,分别是:
 * 1,2,3
 * 4,5,1
 * 页数固定为3:
 * 则分别是:
 * 1,2,3
 * 4,5,1
 * 2,3,4
 * @author 任强
 *
 */
public class TestListFor {


public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("0");list.add("1");list.add("2");
list.add("3");list.add("4");list.add("5");
list.add("6");list.add("7");list.add("8");
list.add("9");
list(3, 9, list);//每页三条数据,固定展示9页
}

public static void list(int pageSize, int page, List<String> list){
int listSize = list.size();
// int page = (listSize % pageSize == 0 ? (listSize / pageSize) : (listSize / pageSize + 1));
//如果page不固定,则使用传入的参数
for(int i = 1 ; i <= page ; i ++){
for(int j = (i - 1) * pageSize ; j <= i * pageSize - 1 ; j ++ ){
int index = j;
while(index > listSize - 1){
index = index - listSize;
}
System.out.println(list.get(index));
}
}
}
}

这篇关于集合分页展示,补全最后一页的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131588

相关文章

一文教你使用Python实现本地分页

《一文教你使用Python实现本地分页》这篇文章主要为大家详细介绍了Python如何实现本地分页的算法,主要针对二级数据结构,文中的示例代码简洁易懂,有需要的小伙伴可以了解下... 在项目开发的过程中,遇到分页的第一页就展示大量的数据,导致前端列表加载展示的速度慢,所以需要在本地加入分页处理,把所有数据先放

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

基于Redis有序集合实现滑动窗口限流的步骤

《基于Redis有序集合实现滑动窗口限流的步骤》滑动窗口算法是一种基于时间窗口的限流算法,通过动态地滑动窗口,可以动态调整限流的速率,Redis有序集合可以用来实现滑动窗口限流,本文介绍基于Redis... 滑动窗口算法是一种基于时间窗口的限流算法,它将时间划分为若干个固定大小的窗口,每个窗口内记录了该时间

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

oracle分页和mysql分页

mysql 分页 --查前5 数据select * from table_name limit 0,5 select * from table_name limit 5 --limit关键字的用法:LIMIT [offset,] rows--offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。   oracle 分页 --查前1-9

Java基础回顾系列-第六天-Java集合

Java基础回顾系列-第六天-Java集合 集合概述数组的弊端集合框架的优点Java集合关系图集合框架体系图java.util.Collection接口 List集合java.util.List接口java.util.ArrayListjava.util.LinkedListjava.util.Vector Set集合java.util.Set接口java.util.HashSetjava

【408数据结构】散列 (哈希)知识点集合复习考点题目

苏泽  “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家    知识点 1. 散列查找 散列查找是一种高效的查找方法,它通过散列函数将关键字映射到数组的一个位置,从而实现快速查找。这种方法的时间复杂度平均为(