福建省住房和城乡建设部网站,石家庄高端网站建设,深圳网络seo优化,免费ppt课件模板大全大家好#xff0c;我是雄雄。今天我们还是分享关于集合的内容。假如有这样的需求#xff0c;已知集合的长度为100#xff0c;也就是集合中有100个元素#xff0c;现需要删除索引20-30之间的元素#xff0c;我们应该怎么实现呢#xff1f;我们先初始化集合#xff0c;代码… 大家好我是雄雄。今天我们还是分享关于集合的内容。假如有这样的需求已知集合的长度为100也就是集合中有100个元素现需要删除索引20-30之间的元素我们应该怎么实现呢我们先初始化集合代码如下public static void testRemoveList(){ListString lists new ArrayListString(100);for (int i 0;i100;i) {lists.add(张三i);}//遍历集合for (String str : lists) {System.out.println(str);}}这个很简单肯定难不倒聪明的你你或许会用这一种方法通过for循环遍历集合一律调用remove方法移除关键代码如下所示//遍历集合删除索引为20-30的元素int count 0;for(int i 0;ilists.size();i){//每次都删除下标为20的元素//当第一次删除掉下标为20的元素时原来下标为21的元素此下标此时就成了20删10次就可以了lists.remove(20);if(count10){break;}count;}运行结果为什么需要这样写如果我写成如下代码可以实现吗for(int i 0;ilists.size();i){if(i20i30){lists.remove(i);}
}这样是不可以的原因很简单当我们把下标为20的元素删除之后原来下标21的元素此时下标就会成20所以这样实现不了删除20-30之间的元素。言归正传这种方法我们都知道可是还有没有更简单的方法呢答案是有的回忆我们前几期一直在说的subList方法因为subList方法可以直接返回原列表的子列表视图我们直接清空掉该子列表视图中的所有元素那不就实现了吗故此我们可以使用一行代码即可解决问题如下所示lists.subList(20, 30).clear();怎么样是不是很简单一定要学会学以致用往期精彩‘小会计’的转行之旅2020-10-13 子列表只是原列表的一个视图2020-10-12 “半路出家”的程序猿怎么不被“熊”2020-10-11 某同学工作之后的感悟2020-10-10 班级日常分享一天一瞬间2020-10-10 为了金秋那沉甸甸的麦穗我绝不辜负春天2020-10-09 subList?? subString???2020-10-08 支持作者赞赏就不用啦生活都不易右下角的“在看/赞”点一下如果感觉文章不错记得分享到朋友圈让更多人知道点分享点点赞点在看