推广 热搜: ACF胶  回收ACF  收购ACF  200*16防溢裙板  济宁防溢裙板  求购ACF  挡尘帘  @2022已最新(今日/知乎)  AH0.6/12矿用按钮箱  GLD2200/7.5/S甲带给煤机 

sublist 、subList转arr***list

   日期:2023-04-17     浏览:49    评论:0    
核心提示:java list sublist 会不会下标越界上图是从JDK源码中截取粗来的,很明显,他会进行下标检查,所以sublist方法是会下标越界的List集合中subList方法带的2个参数是什么意思这

java list sublist 会不会下标越界

上图是从JDK源码中截取粗来的,很明显,他会进行下标检查,所以sublist方法是会下标越界的

List集合中subList方法带的2个参数是什么意思

这个方法 java.util.List.subList(int, int) 作用

返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图

我们先来看下 API

两个参数表示

fromIndex - subList 的低端(包括)

toIndex - subList 的高端(不包括)

使用示例:

下面 的list 中有四个元素, 我现在要取其中的 第二个元素 和第三个元素

    public static void main(String[] args){

        ListString list = new Arr***ListString();

        list.add("fei");

        list.add("long");

        list.add("feiong");

        list.add("飞天奔月");

        System.out.println(list.subList(1, 3));

    }

输出:

[long, feiong]

java里的List接口里的subList方法,API没看懂

1,并不是发明出来的,原文就是view,就是视图的意思。

视图的概念借用了数据库的view概念。sablist返回的list和原来的list,后面的数据是同一份,所以对任何item本身的修改,会反映到另一个list。

2,因为sublist知道使用了哪个fullList,当然能够正确处理clear;反过来却不然,所以,对fullList的clear,会造成未定义的结果。

3,如果是arr***List,是你说的那样,remove的话,会把后面的数据向前串一个,然后等着回收呗;如果是link list,就是链表结构了。

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

一、subList简述

原型:ListE 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。

List集合中subList()方法带的2个参数是什么意思

比如集合中的内容为1,2,3,,4,5

list.sublist(2,4)

就返回一个子集合:它的内容包括从下标为2到下标为4,而且这是左闭右开的

就是说是从大于等于2到小于4

那子集内容就是3,4(集合的下标都是从0开始)

关于sublist和subList转arraylist的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

原文链接:http://www.hzciic.com/news/show-25172.html,转载和复制请保留此链接。
以上就是关于sublist 、subList转arr***list全部的内容,关注我们,带您了解更多相关内容。
 
标签: 列表 下标 方法
打赏
 
更多>同类资讯
0相关评论

推荐资讯
网站首页  |  VIP套餐介绍  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  手机版  |  SITEMAPS  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报