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

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

相关文章

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

mybatis-plus分页无效问题解决

《mybatis-plus分页无效问题解决》本文主要介绍了mybatis-plus分页无效问题解决,原因是配置分页插件的版本问题,旧版本和新版本的MyBatis-Plus需要不同的分页配置,感兴趣的可... 昨天在做一www.chinasem.cn个新项目使用myBATis-plus分页一直失败,后来经过多方

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Java集合中的List超详细讲解

《Java集合中的List超详细讲解》本文详细介绍了Java集合框架中的List接口,包括其在集合中的位置、继承体系、常用操作和代码示例,以及不同实现类(如ArrayList、LinkedList和V... 目录一,List的继承体系二,List的常用操作及代码示例1,创建List实例2,增加元素3,访问元

一文教你使用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 <