java sublist的sublist(0.30)的两个参数分别是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java sublist的sublist(0.30)的两个参数分别是啥意思相关的知识,希望对你有一定的参考价值。

Collections.sort(weightedUsers); //对这个WeightedUsers数组进行排序
List<WeightedUser> wu = weightedUsers.subList(0, max);

一、subList简述
原型:List<E> subList(int fromIndex,int toIndex)

1、返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。(如果
fromIndex 和 toIndex
相等,则返回的列表为空)。返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,反之亦然。返回的列表支持此列表支持的所有可选列表操作。
2、此方法省去了显式范围操作(此操作通常针对数组存在)。通过传递 subList
视图而非整个列表,期望列表的任何操作可用作范围操作。例如,下面的语句从列表中移除了元素的范围:
list.subList(from, to).clear();

可以对 indexOf 和 lastIndexOf 构造类似的语句,而且 Collections
类中的所有算法都可以应用于 subList。
3、如果支持列表(即此列表)通过任何其他方式(而不是通过返回的列表)从结构上修改,则此方法返回的列表语义将变为未定义(从结构上修改是指更改列表的大小,或者以其他方式打乱列表,使正在进行的迭代产生错误的结果)。

参数:
fromIndex - subList 的低端(包括)
toIndex - subList 的高端(不包括)
返回:
列表中指定范围的视图
抛出:
IndexOutOfBoundsException
- 非法的端点值 (fromIndex < 0 || toIndex > size || fromIndex >
toIndex)
二、解释subList(0,30)
1、这是调用了List中的subList方法,从第0个元素(因为List的序号从0开始)开始,到第30个元素结束,但是不包括第30个元素。返回这样的一个列表,他是原List的一部分。
2、举例,如原来的list中存在0、1、2、3 ... 100共101个数字,则调用list.subList(0,30)后,list变为从0开始,到29结束的数值,不包括30。
参考技术A 取List中下标为0到29的元素本回答被提问者采纳

java subList方法小记

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

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

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

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

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

以上是关于java sublist的sublist(0.30)的两个参数分别是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

java 中List.subList 总结

java中的subList

Java中List集合中subList的坑

Java下List使用subList实现分页获取

Java List的SubList使用问题

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