栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

巧用ArrayList中subList方法,规避哪些大坑

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

巧用ArrayList中subList方法,规避哪些大坑

List集合是我们大家在开发中经常用到的集合,而作为它的实现类ArrayList是我们最经常使用的实现类了,不多说,长度自动扩容,非常好用,但其中也有好多方法存在大坑,今天我们就来分析以下List集合中**subList(int fromIndex, int toIndex)**方法

相信大家在使用集合时有时会有这一需求,就是只需要返回这个集合中的指定段集合
这个时候subList(int fromIndex, int toIndex)方法就上场了,但在用这个方法的时候一定要注意以下坑

  1. 调用subList()方法之后便不能再对原有集合进行增加或删除,一旦删除或增加,再去遍历subList()方法的返回集合,便报出并发修改异常 ,如以下代码
List arrayList  = new ArrayList();
    arrayList.add(10);
    arrayList.add(20);
    arrayList.add(30);
    arrayList.add(40);
    arrayList.add(50);
    List ss =  arrayList.subList(1, 3);
    arrayList.remove(0);
   for(int i=0;i
  1. subList的返回对象为List,不可强转为ArrayList,如强转,则报出类转换异常,代码如下
List arrayList  = new ArrayList();
    arrayList.add(10);
    arrayList.add(20);
    arrayList.add(30);
    arrayList.add(40);
    arrayList.add(50);
    List ss =  (ArrayList)arrayList.subList(1, 3);
    //结果
  Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList$SubList cannot be cast to java.util.ArrayList
	at Testhashs.main(Testhashs.java:20)

另外注意subList(int fromIndex, int toIndex)截取数据时是前闭后开的,也就是说截取(1,5)包括下标为1的数据,但是不包括5的数据

自此,subList注意事项编写完毕,如有别的注意事项,欢迎指出

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/239447.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号