`
lang520123
  • 浏览: 7490 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

对List使用操作并进行拆分分页操作

阅读更多
   
      在项目中往往会要求对多表数据进行查询操作,而两表中的数据只有编号相关联,但查询条件中要根据其中一张表中的电话号码来查询信息,这样我们必须要先根据电话号码来查询编号,再通过编号参数来执行查询操作。但往往一个电话号码又可能对应多条信息(即多个编号),这样操作起来就比较麻烦!常规方法就是循环操作,这样就大大降低了效率!

       下面来看看我的操作:

       1.首先取出电话号码信息,保存在一个list中(注意此List中只包含编号字段)
   
     List objslist =null;
    if(form.getPhoneNumber()!=null && form.getPhoneNumber().length()>0)
   {
phoneNumber =form.getPhoneNumber();
objslist =vehicleDs.queryVehicleNumber(phoneNumber);    }

      2.查询另一张表中的所有数据,然后去比较有相同的编号的数据,保存在list中

        list = consumptionRecordDs.querySQLResults(vehicleNumber, mainmeternumber,form.getCodeId(),startTime,endTime, convertString2Timestamp(tingcbeginTime), convertString2Timestamp(tingcendTime), convertString2Timestamp(likbeginTime), convertString2Timestamp(likendTime),form.getConsumptionMoneybegin(),form.getConsumptionMoneyend());
      if(list!=null && list.size()>0)
      {
UrpcsConsumptionRecord crecord =null;
for(int j=0;j<list.size();j++)
{
   crecord =(UrpcsConsumptionRecord)list.get(j);
   String veNumber =crecord.getVehicleNumber();
   if(objslist.contains(veNumber))    {
         dList.add(crecord);
   }else{
continue;
   }
  }
}
      注意:红色部分文字,用list与string作比较,取出具有相同编号的对象,关于List.contains()的使用,可以查看java API
      这样我就查询出了具有同一手机号码的所有相关数据,但是现在要对这个list进行分页,又出现了问题!

   3.对list进行分页操作

    count =dList.size();  //取出总记录数
   if(count/form.getPageSize()==0 && count%form.getPageSize()>0)
   {
fromIndex=0;
toIndex =count;
    }else
    {
      if(count/form.getPageSize()>=1 && count % form.getPageSize()>=0)
      {
fromIndex =form.getPageSize() * (form.getPageNo()-1);
if(form.getPageSize() * form.getPageNo() >=count)
{
   toIndex =count;
}else{
    toIndex =form.getPageSize() * form.getPageNo();
}
       }
     }

     dataList =dList.subList(fromIndex, toIndex);

     注意:红色字体部分就是对整个list按照每页记录数进行拆分。
      JAVA API中有对List.subList(formIndex,toIndex)的解释,大家可以自寻查找!
分享到:
评论

相关推荐

    java中利用List的subList方法实现对List分页(简单易学)

    本篇文章主要介绍了java中list数据拆分为sublist实现页面分页的简单代码,具有一定的参考价值,有需要的可以了解一下。

    html前端动态获取后端数据显示到表格,实现分页显示

    后端使用js+express,读取csv文件存储到内存,前端需要那一段的数据,后端就给前端那一页的数据。非常适合前端新手。同时分为两个文件serverImage和clientImage,其中包含项目源码,一些配置文件,以及后端需要处理的...

    react-pagimagic:ReactReact组件可从您的列表中创建分页。 演示=>

    然后,让我们假设有一些东西的列表,应该在页面上拆分并分页: const YourComponent = ( props ) =&gt; { // let's assume that the users list is passing here: const { users } = props ; // your logic how the ...

    Excel VBA实用技巧大全 附书源码

    03030设定工作表被保护时是否可以进行自动筛选的操作 03031设定工作表被保护时是否启用分级显示符号 03032设定工作表被保护时是否启用数据透视表控件和操作 03033设定工作表被保护时是否可以选定单元格 03034新建...

    userList:SPA 与 JavaScript bootstrap angularJS nodeJS expressJS 和 mysql

    用户列表 SPA 与 JavaScript bootstrap angularJS nodeJS expressJS 和 mysql 作者:比尔叶 ... 使用 ngRoute 和 ngView 将页面拆分成几个部分; 创建不同的模块来处理页面并应用角度服务来增强用户应用程

    apischema:grpc api模式

    芹菜 这是Venturemark gRPC API的真实来源。 apischema定义RPC调用的形状和功能。 拥有统一的抽象有助于我们跨不同语言生成...目前尚不支持分页,但是用于拆分较大结果的响应的规范将按以下方式工作。 除了filter.ope

    易想最新升级包V4.0

    3.对委托代理、专项商机的首页使用模板生成,可以对其的首页模板进行编辑; 4.新增人才招聘栏目功能,让人才频道基本和小型人才网功能相当; 5.增加可以根据系统模板的风格,可以自由调整动态页面的整体宽度; 6....

    Git权威指南PDF完整版

    30.4.1 对整个版本库进行授权/ 427 30.4.2 通配符版本库的授权/ 428 30.4.3 用户自己的版本库空间/ 429 30.4.4 对引用的授权:传统模式/ 430 30.4.5 对引用的授权:扩展模式/ 430 30.4.6 对引用的授权:禁用规则的...

    UWA 2.X UTF-8 (v2.1.5_to_v2.2.0) 升级程序.zip

    1、在使用升级程序之前,确保您已经对系统进行了备份。 2、确保程序的完整性,并建议在操作之前先本地进行测试升级,在没有 任何问题后再进行上传。 3、在您修改了程序或数据库结构以后我们不能保证升级能够完全...

    C#编程经验技巧宝典

    11 &lt;br&gt;0025 如何使用不安全代码 11 &lt;br&gt;第2章 语言基础 13 &lt;br&gt;2.1 注释 14 &lt;br&gt;0026 如何对代码进行注释 14 &lt;br&gt;0027 #region、#endregion关键字的使用技巧 14 &lt;br&gt;0028 “///”符号...

    一个适合新手学习的电商项目

    分页使用PageHelper插件,插件是基于mybatis的拦截器接口实现的 商品的展示功能: 1.分页插件的使用PageHelper。 2.easyUIDataGrid的使用 ### 前台系统 ### shop-rest(发布服务) ### shop-search(搜索...

    单点登录源码

    本系统是基于RBAC授权和基于用户授权的细粒度权限控制通用平台,并提供单点登录、会话管理和日志管理。接入的系统可自由定义组织、角色、权限、资源等。用户权限=所拥有角色权限合集+用户加权限-用户减权限,优先级...

Global site tag (gtag.js) - Google Analytics