上次做项目 遇到了一次,内存中,加载了3000多条数据,,造成系统非常卡, 客户反馈体验非常不好,后面想办法,虽然只有在特定的环境下出现, 但是这种特定的环境下产生的也是要解决的, 如果解决呢?
想法就是把数据分成很多段, 一次只加载10条显示,剩下的下拉加载,如果这样做,那如何把集合进行切割呢, 采用集合的subList()方法
以下代码,不想写,就参考下 这么博主的;
链接地址:https://blog.youkuaiyun.com/weixin_40345099/article/details/82153576
这是一个简单的问题,list集合分组可能会有许多方式,比如循环遍历分组,这样的分组方式会经过多次判断,性能比较低。
首先说说为什么要分组,如果数据小就没有必要了,在处理大数据时,list中可能存储了很多数据,造成很大的内存开销,你为了减轻系统负担,建议对list进行分组操作,并说清除不需要的数据
现在发现List.java中有个类似于字符串截取(subString)的方法subList(int fromIndex,int toIndex),其中参数fromIndex、toIndex分别代表截取的起始下标和终止下标(不包括),源码如下:
List接口中的声明:
List<E> subList(int fromIndex, int toIndex);
ArrayList中的实现:
public List<E> subList(int fromIndex, int toIndex) {
subListRangeCheck(