内存分页排序

        // 分页后的List
        List<AssetTendencyTablePoJo> orderedList = null;
        // 排序
        if (sortList != null)
        {
            orderedList = sortListByField(dataList,
                    sortList.getOrderField(),
                    sortList.getOrderType());
        }
        else
        {
            orderedList = dataList;
        }
        // 不满足分页条数 就全部返回
        if (pageIndex <= 0 || pageSize <= 0)
        {
            return orderedList;
        }
       
        // 分页后的集合
        List<AssetTendencyTablePoJo> pageList = new ArrayList<AssetTendencyTablePoJo>();
        // 计算index
        int startIndex = (int) ((pageIndex - 1) * pageSize);
        if (startIndex < 0 || startIndex >= orderedList.size())
        {
            startIndex = orderedList.size() - 1;
        }
        int endIndex = (int) (pageIndex * pageSize);
        if (endIndex < 0 || endIndex >= orderedList.size())
        {
            endIndex = orderedList.size();
        }
        // 判定是否为空
        if (!orderedList.isEmpty())
        {
            pageList.addAll(orderedList.subList(startIndex, endIndex));
        }
        return pageList;

你可能感兴趣的:(内存分页排序)