java subList方法小记

在java中,我们有时候需要对一个list进行拆分处理,这个时候就需要用到list的切割方法subList。

我们知道list里面的序号起始是从0开始的,所以一个含有23条数据的list,它的序号是从0-22。

如果我们想截取出这个list中的前十条的话,那么subList的起始位置和结束位置应该是subList(1, 10);

而不是根据list的序号0-9来窃取。

所以subList的起始位置是从1开始,对应list里面的序号0。

时间: 2024-08-13 15:54:43

java subList方法小记的相关文章

使用java.util.List的subList方法进行分页

java.util.List中有一个subList方法,用来返回一个list的一部分视图. List<E> subList(int fromIndex, int toIndex); 它返回原来list的从[fromIndex, toIndex)之间这一部分的视图,之所以说是视图,是因为实际上,返回的list是靠原来的list支持的.返回一个以fromIndex为起始索引(包含),以toIndex为终止索引(不包含)的子列表. 但值得注意的是,返回的这个子列表的幕后其实还是原列表:也就是说,修改

java List.subList方法中的超级大陷阱

ArrayList 中 subList 的基本用法: subList(fromIndex:int,toIndex:int):List<E> 返回从fromIndex到toindex-1 的 子列表 在使用集合中,可能常常需要取集合中的某一部分子集来进行一下操作,于是subList这个方法就映入我们的眼帘,毫不犹豫地使用. 例如以下代码: public static void main(final String[] args) { List<Object> lists = new A

java中使用sublist方法获取list集合的前1000条数据

在java.util.List中有一个subList()方法,作用是返回一个List集合的其中一部分视图. List<E>(对象的集合).subList(int fromIndex, int toIndex); 1.因为返回的是List<E>中一部分对象的集合,返回的结果集合也是List<E>的子集合,并是以下标索引取值. 2.父集合List<E>以fromIndex开始(包含),到toIndex结束(不包含)的部分为返回的子集合. 3.因为是通过下标索引取

Java split方法源码分析

Java split方法源码分析 1 public String[] split(CharSequence input [, int limit]) { 2 int index = 0; // 指针 3 boolean matchLimited = limit > 0; // 是否限制匹配个数 4 ArrayList<String> matchList = new ArrayList<String>(); // 匹配结果队列 5 Matcher m = matcher(inp

谨慎使用ArrayList中的subList方法

转自:https://www.toutiao.com/a6705958780460335619/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1561423940&app=news_article&utm_source=weixin&utm_medium=toutiao_android&req_id=201906250852200101520492020364F

ArrayList的subList方法带来的坑

最近在项目中遇到了一个问题,由一个对象序列化的结构,在反序列化时一直提示失败,真的百思不得其解啊.在对问题排查了好久之后,才发现是这个序列化的对象中的list调用了ArrayList的sublist方法存入导致的问题,真的是满满的坑,sublist还是要慎重使用的啊,下面详细介绍下sublist. 以下内容转自:ArrayList的subList方法 List接口中定义: List<E> subList(int fromIndex, int toIndex); 英文注释: Returns a

java中方法调用

JAVA中方法的调用[基础] 一.调用本类中的方法 方法一.被调用方法声明为static ,可以在其他方法中直接调用.示例代码如下: public class HelloWord { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str="HelloWord!"; int a=0; int b=a+1; int result=

从java main方法说开去

刚刚接触java语言时,接触的便为一个java main方法.我们知道这样程序就可以运行了,但是程序是怎么运行起来的我们却不知道. 众所周知,当执行一个java程序时,首先会启动一个JVM虚拟机进程,当程序执行完时,JVM进程则消亡.其他导致JVM进程消亡的还有以下情况: System.exit(int)方法,执行该方法时,虚拟机腿粗好.int参数为状态码,为0时,正常退出:若不为0,则异常退出. 遇到异常或错误时.若在程序过程中遇到异常时,不作处理会一直抛出异常到main函数,若main函数也

Java变量方法初始化顺序

面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量, 构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果.这实际上是在考查我们对于继承情况下类的初始化顺序的了解. 我们大家都知道,对于静态变量.静态初始化块.变量.初始化块.构造器,它们的初始化顺序以此是 (静态变量.静态初始化块)>(变量.初始化块)>构造器. 我们也可以通过下面的测试代码来验证这一点: 父类--静态变量 父类