根据已有的list,想根据下标截取一个子list有下列几种方式:

package org.4spaces;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import java.util.stream.Collectors;

public class SplitList {

/**

* 原生代码拆分

*

* @param originList 原始list

* @param fromIndex 拆分开始下标(包含)

* @param toIndex 拆分结束下标(不包含)

* @return 被拆分之后的子list

*/

public List naiveSplit(List originList, int fromIndex, int toIndex) {

List subList = new ArrayList();

if (fromIndex >= 0 && toIndex <= originList.size()) {

for (int i = 0; i < originList.size(); i++) {

if (i >= fromIndex && i < toIndex) {

subList.add(originList.get(i));

}

}

}

return subList;

}

/**

* Java List.subList

*

* @param originList 原始list

* @param fromIndex 拆分开始下标(包含)

* @param toIndex 拆分结束下标(不包含)

* @return 被拆分之后的子list

*/

public List subListSplit(List originList, int fromIndex, int toIndex) {

return originList.subList(fromIndex, toIndex);

}

/**

* Java 8 Collectors.partitioningBy

*

* @param originList 原始list

* @param fromIndex 拆分开始下标(包含)

* @param toIndex 拆分结束下标(不包含)

* @return

*/

public List partitioningBySplit(List originList, int fromIndex, int toIndex) {

Map subList = (Map) originList.stream().collect(Collectors.partitioningBy(s -> originList.indexOf(s) >= fromIndex && originList.indexOf(s) < toIndex));

return subList.get(true);

}

/**

* Java 8 Collectors.groupingBy

*

* @param originList 原始list

* @param fromIndex 拆分开始下标(包含)

* @param toIndex 拆分结束下标(不包含)

* @return

*/

public List groupingBySplit(List originList, int fromIndex, int toIndex) {

Map subList = (Map) originList.stream().collect(Collectors.groupingBy(s -> originList.indexOf(s) >= fromIndex && originList.indexOf(s) < toIndex));

return subList.get(true);

}

}

参考文章:

java list下标_Java根据list下标拆分子list的四种方式相关推荐

  1. java配置文件实现方式_java相关:详解Spring加载Properties配置文件的四种方式

    java相关:详解Spring加载Properties配置文件的四种方式 发布于 2020-4-29| 复制链接 摘记: 一.通过 context:property-placeholder 标签实现配 ...

  2. java map 迭代遍历_java 遍历Map的四种方式

    java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1.方 ...

  3. java实现线程的方式_java多线程实现的四种方式

    java多线程实现的四种方式1.继承Thread类,重写run方法(其实Thread类本身也实现了Runnable接口) 2.实现Runnable接口,重写run方法 3.实现Callable接口,重 ...

  4. java xml 方法_Java读取xml的四种方式

    Java读取xml的四种方式 在平时工作中,难免会遇到把 XML 作为数据存储格式.面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML ...

  5. java 获取星期几_java中获取日期是星期几的两种方法

    java中取得指定日期是星期几可以采用下面两种方式取得日期是星期几:(推荐:java视频教程) 1.使用Calendar类//根据日期取得星期几 public static String getWee ...

  6. java json 解析_Java解析JSON的四种方式

    一.什么是JSON JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于阅读和编写,同时也易于解析和 ...

  7. java如何遍历树_java 遍历树的四种方式

    java 遍历树的四种方式 最近做一个玫瑰图报表,数据源为TreeJson(树状json),在网上搜集下资料,和大家分享.: 先序遍历 中序遍历 后序遍历 层次遍历 public class Tree ...

  8. Java遍历Map对象的四种方式

    关于java中遍历map具体哪四种方式,请看下文详解吧. 方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. 1 2 3 4 Map<Integer, Intege ...

  9. Java实现文件复制的四种方式

    背景:有很多的Java初学者对于文件复制的操作总是搞不懂,下面我将用4中方式实现指定文件的复制. 实现方式一:使用FileInputStream/FileOutputStream字节流进行文件的复制操 ...

  10. java读取XML文件的四种方式

    java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...

最新文章

  1. 计算机网页设计布局与排版研究,论计算机网页设计的布局与排版
  2. AI产业链分布图曝光:1040个玩家,BAT率先步入应用
  3. 为什么密码比字符串更喜欢char []?
  4. jquery的sortable拖拽排序插件,顺序没发生改变则不请求
  5. [MSDN]ASP.NET MVC2(5)MVCRoute和urls
  6. MySQL工作笔记-解决导入外部sql中文乱码问题
  7. python玩转android_怎样用python玩安卓版跳一跳
  8. python左闭右开_漫话:为什么程序员喜欢使用0 ≤ i 10这种左闭右开的形式写for循环?...
  9. 不定期更新的IDEA功能整理
  10. 某些面向对象的思想--一步步更新
  11. android 输入支付密码错误,Android 支付宝支付密码输入界面
  12. 如何使用阿里云打造离线下载服务器?
  13. 被称为“圣经”的《计算机体系结构》
  14. java api微盘_新浪微盘的API Python版封装
  15. obs录制不了Java_simplescreenrecorder(OBS Studio)录屏没有声音最佳解决方案
  16. iOS使用CNContact对通讯录增删改查
  17. python 推导式练习题
  18. 计算机配置好坏怎么看,怎么看电脑配置,电脑配置好坏信息一目了然-腾讯电脑管家...
  19. 关于ESM Flag问题
  20. 公文排版插件for Word/WPS【公文助手——让公文排版更快一点】

热门文章

  1. 浅谈设计师职业成长轨迹
  2. 儿时的小游戏:象狮虎豹狼狗猫鼠
  3. JAVA做SEO优化,CMS最有效的SEO优化8大方法
  4. 名词解释微型计算机,微机原理名词解释
  5. 《Machine Learning in Action》—— 剖析支持向量机,单手狂撕线性SVM
  6. linux监控工具 go实现,Gotop:另一个 TUI 图形活动监视器,使用 Go 编写
  7. 【转载】在美国找工作秘籍
  8. Ubuntu查看文件夹占用空间大小以及磁盘空间大小
  9. PIXI入门-PIXI文档翻译(1)
  10. 四方伟业冲刺科创板:年营收为2.8亿 南威软件与文化基金是股东