神奇!一行代码实现删除某集合下标20-30的元素

大家好,我是雄雄。

今天我们还是分享关于集合的内容。

假如有这样的需求,已知集合的长度为100,也就是集合中有100个元素,现需要删除索引20-30之间的元素,我们应该怎么实现呢?我们先初始化集合,代码如下:

public static void testRemoveList(){List<String> lists = new ArrayList<String>(100);for (int i = 0;i<100;i++) {lists.add("张三"+i);}//遍历集合for (String str : lists) {System.out.println(str);}}

这个很简单,肯定难不倒聪明的你,你或许会用这一种方法,通过for循环遍历集合,一律调用remove方法移除,关键代码如下所示:

//遍历集合,删除索引为20-30的元素int count = 0;for(int i = 0;i<lists.size();i++){//每次都删除下标为20的元素//当第一次删除掉下标为20的元素时,原来下标为21的元素此下标此时就成了20,删10次就可以了lists.remove(20);if(count==10){break;}count++;}

运行结果:

为什么需要这样写?如果我写成如下代码可以实现吗?

for(int i =0;i<lists.size();i++){if(i>=20&&i<=30){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

支持作者

赞赏就不用啦,生活都不易,右下角的“在看/赞”点一下,如果感觉文章不错,记得分享到朋友圈让更多人知道!

点分享

点点赞

点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324632.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssl初一组周六模拟赛【2018.3.17】

前言 先说一下成绩&#xff1a; 姓名成绩xjq(没错又是他)310hjq200hzb150wyc(本人)130lrz130xxy100lw30zyc缺考 正题 题目1&#xff1a;ssl2574 & jzoj1368 无限序列【斐波那契数列】 刚开始想用分治&#xff0c;结果做不出来&#xff0c;然后想到了更好的方法&#xff…

注意!在subList生成子列表之后,一定不要随便更改原列表

大家好&#xff0c;我是雄雄。前几期我们说过&#xff0c;subList方法是返回原列表的子列表&#xff0c;并且我们还说过&#xff0c;在subList返回的子列表上操作时&#xff0c;会直接影响着原列表&#xff0c;原文在这里&#xff1a;subList?? subString???子列表只是原列…

DotNetCore跨平台~Dockerfile的解释

大叔感觉网上对Dockerfile的说明不是很清楚&#xff0c;或者说怎么去用说的不清楚&#xff0c;在vs2017里我们可以去建立自己的Dockerfile文件&#xff0c;然后你的项目可以被生成一个镜像&#xff0c;把它推到仓库之后&#xff0c;你可以在linux,mac上去run你的项目了&#xf…

当你「ping 一下」的时候,你知道它背后的逻辑吗

转载自 当你「ping 一下」的时候&#xff0c;你知道它背后的逻辑吗 我们在遇到网络不通的情况&#xff0c;大家都知道去 ping 一下&#xff0c;看一下网络状况。 那你知道「ping」命令后背的逻辑是什么吗&#xff1f;知道它是如何实现的吗&#xff1f; 一、「ping」命令的作…

POJ1611-嫌犯【图论,并查集】

正题 题目链接&#xff1a; http://poj.org/problem?id1611 大意 有n个人&#xff0c;m个组&#xff0c;有一个流感嫌犯&#xff0c;流感嫌犯会将所在的组的所有人变成流感嫌犯&#xff0c;求流感嫌犯的数量。 解题思路 并查集将各个组合并&#xff0c;然后看看那些人是和…

python的三元运算

a 10 b 5if a > 15 :c a else:c bd a if a > 15 else bd 值1 if 条件A else 值2如果条件A成立&#xff0c;就取左边的 值1&#xff0c;则 取 值2

​凌云KTV点歌系统功能简介

19级青鸟三班 凌云小组指导老师&#xff1a;穆雄雄老师 班主任&#xff1a;王欣欣老师小组成员&#xff1a;组长&#xff1a;李磊 副组长&#xff1a;杨云浩组员&#xff1a;高启航 朱齐 李欣然 高松 张方仪 王浩如 苏荟旭 贾增伟制作周期&#xff1a;2020年9月25日-10月…

REST参考手册

总说接口定义要遵守 RESTful&#xff0c;那么什么是REST呢&#xff0c;今天跟小编一起来了解一下这个规范吧~&#xff01; 原文作者简介&#xff1a; BRIAN SLETTEN是一个关注前沿技术的软件工程师&#xff0c;现居于加州奥本。他的职业生涯横跨了各个行业&#xff0c;包括零售…

漫画:如何用栈实现队列

转载自 漫画&#xff1a;如何用栈实现队列 栈的特点是先入后出&#xff0c;出入元素都是在同一端&#xff08;栈顶&#xff09;&#xff1a; 入栈&#xff1a; 出栈&#xff1a; 队列的特点是先入先出&#xff0c;出入元素是在不同的两端&#xff08;队头和队尾&#xff09;…

POJ2524——宗教(Ubiquitous Religions)【图论,并查集】

正题 题目链接&#xff1a; http://poj.org/problem?id2524 大意 有n个学生&#xff0c;告诉你哪两个学生的宗教相等&#xff0c;求校园里有多少个宗教。 解题思路 并查集链接就好了 代码 #include<cstdio> using namespace std; int n,m,x,y,s,father[50001],t; i…

深入理解python的元组本身不可变性

元组本身不可修改&#xff0c; 如果包含可修改的数据类型&#xff0c; 那被包含的数据类型可以修改。

SQ小组KTV点歌系统简介

19级青鸟三班 SQ小组指导老师&#xff1a;穆雄雄老师 班主任&#xff1a;王欣欣老师小组成员:组长:王世泽 副组长:张坤鹏 组员:渠德春 徐龙翥 泮迎国 程至婷 樊永奇 杜坤凯 李含笑 吴俊衫1项目整体运行视频&#xff1a;KTV前端主页点歌系统主页进入主页面后左边第一个是演唱…

什么是ABTest

转载自 什么是ABTest 在互联网公司的业务发展过程中&#xff0c;用户增长是永恒的主题&#xff0c;因为没有增长也就没有发展&#xff0c;所以在业务发展的早期产品迭代速度往往是越快越好&#xff0c;总之一句话&#xff1a;“怎么快怎么来”&#xff0c;至于系统建设得是否可…

Quartz.net基于数据库的任务调度管理(Only.Jobs)

一 前言&#xff1a; 各大调度组件优缺点在这就不讨论了&#xff0c;使用Quartz.net是因为它可以执行秒级任务。 Only.Jobs 项目通过将各Job存储在数据库中&#xff0c;启动一个专门的Job管理任务来循环调度各Job的的调度情况。 项目分为 Web管理系统 、服务运行端 、数据…

畅想小组KTV点歌系统简介

19级青鸟三班畅想小组指导老师&#xff1a;穆雄雄老师班主任&#xff1a;王欣欣老师小组成员:组长:毛帅龙 副组长:扈明旺组员:张俊豪 靖相民 袁康凯 魏子凯 李明义 魏婉莹 谢润祺 项目整体运行视频&#xff1a;1主页面功能&#xff1a;可以根据用户所需要的页面进行显示和隐藏…

POJ2560-雀斑(Freckles)【图论,并查集,最小生成树,KURUSKAL】

正题 题目链接&#xff1a; http://poj.org/problem?id2560 大意 有n个点&#xff0c;给出坐标&#xff0c;求连接这n个点的最短路线 解题思路 KURUSKAL算法求最小生成树。 代码 #include<cstdio> #include<cmath> #include<algorithm> using namespac…

使用Docker Swarm搭建分布式爬虫集群

转载自 使用Docker Swarm搭建分布式爬虫集群 在爬虫开发过程中&#xff0c;你肯定遇到过需要把爬虫部署在多个服务器上面的情况。此时你是怎么操作的呢&#xff1f;逐一SSH登录每个服务器&#xff0c;使用git拉下代码&#xff0c;然后运行&#xff1f;代码修改了&#xff0c;…

Docker~从Dockerfile到Container的过程

上一文章&#xff0c;主要介绍Dockerfile里各参数的含义&#xff0c;以及在项目文件里这些内容的含义&#xff0c;因为大叔认为官方和网上其它文章说的有些模棱两可&#xff0c;不太好让大家理解&#xff0c;所有我又从新写了一个大白话的文章&#xff0c;希望可以给大家一些帮…

驭梦KTV点歌系统简介

19级青鸟三班驭梦小组指导老师&#xff1a;穆雄雄老师班主任&#xff1a;王欣欣老师小组成员&#xff1a;组 长&#xff1a;刘文瑞 副组长&#xff1a;陈浴森组员&#xff1a;蒋建强、翟帅、谢学致、申世业、潘浩杨、芦泽宇、季淑琦、冯涵婷制作周期&#xff1a;2020年9月25日-…