subList?? subString???
今天看到了java中List中有个subList方法,感觉很熟悉有没有?没错,在Stirng类中,也有个类似的方法:subString。
1
String类的subString
String中的subString方法,官方解释是:返回字符串的子字符串,其实我们一般也可以这么理解,在字符串中截取指定字符串。比如下面代码:
//截取指定字符串public static void test_subStirng(){String str = "abcd";String newStr = str.substring(1,3);System.out.println("原字符串:"+str);System.out.println("新字符串:"+newStr);}
在调用subStirng方法之后,其结果如下:
subString中传入了两个参数,第一个参数是开始位置(包含),第二参数是结束位置(不包含)。
那么回头我们在来看看subList方法。
2
List中类的subList
List中的subList方法,官方定义:返回一个列表的字列表,看到这儿的时候,是不是觉得和subString简直一模一样(从功能的角度看)。我们用代码举个例子:
public static void test_List(){List<String> lists = new ArrayList<String>();lists.add("a");lists.add("b");lists.add("c");lists.add("d");lists.add("e");System.out.println("原来的集合列表:");for (String str : lists) {System.out.print(str+" ");}//使用sublistList<String> newList = lists.subList(1, 3);System.out.println("\n调用subList方法之后,遍历集合");for (String str : newList) {System.out.print(str+" ");}}
在调用完subList之后的运行结果:
subList方法也是需要传入两个参数,第一个是开始位置(包含),第二个是结束位置(不包含)。
但是,如果我稍微改动一下此方法,代码如下:
public static void test_List_new(){List<String> lists = new ArrayList<String>();lists.add("a");lists.add("b");lists.add("c");lists.add("d");lists.add("e");System.out.println("原来的集合列表:");for (String str : lists) {System.out.print(str+" ");}//使用sublistList<String> newList = lists.subList(1, 3);//给newList中新插入元素newList.add("f");newList.add("g");System.out.println("\n调用subList方法之后,遍历集合");for (String str : newList) {System.out.print(str+" ");}}
我们再来看看结果:
意外不,我明明改动的是newList集合,为什么原来的lists集合也跟着改了呢?这个知识点我们明天在讲!
往期精彩
"爸妈没多大本事"……
2020-10-07
中秋节支付宝口令红包解析
2020-10-06
祝大家国庆节、中秋节快乐(文中有福利)
2020-10-01
存放80000000学生成绩的集合,怎么统计平均分性能高
2020-09-30
asList方法产生的List对象不可更改
2020-09-29
避开基本类型数组转换列表陷阱
2020-09-28
点分享
点点赞
点在看
subList?? subString???相关推荐
- 注意!在subList生成子列表之后,一定不要随便更改原列表
大家好,我是雄雄. 前几期我们说过,subList方法是返回原列表的子列表,并且我们还说过,在subList返回的子列表上操作时,会直接影响着原列表,原文在这里: subList?? subStrin ...
- 神奇!一行代码实现删除某集合下标20-30的元素
大家好,我是雄雄. 今天我们还是分享关于集合的内容. 假如有这样的需求,已知集合的长度为100,也就是集合中有100个元素,现需要删除索引20-30之间的元素,我们应该怎么实现呢?我们先初始化集合,代 ...
- 子列表只是原列表的一个视图
原文参考:<编写高质量代码:改善java程序的151个建议> 本文原创:穆雄雄 上期文章: subList?? subString??? 上期我们说到,List接口提供了subList方法 ...
- 某同学工作之后的感悟
本文原创:王梦茹 以下是王梦茹同学在学习中和工作中的感悟. 01 学习中 出来之后发现在学校的学习效率是远远比自主学习效率高的,学什么东西之前都会先知道他的大体概念,通透了解一下再学习会发现有效率的多 ...
- “半路出家”的程序猿怎么不被“熊”
文本原创:孙浩 投稿这篇文章总有点'好为人师'的感觉,但是自己作为一个"半路出家"的程序看过太多的和我同样出身的程序半途而废了.我现在在一家软件公司就职,担任技术主管职位. 01 ...
- mark一个subList的坑
为什么80%的码农都做不了架构师?>>> 我们经常使用subString方法来对String对象进行分割处理,同时我们也可以使用subList.subMap.subSet来对L ...
- Java集合细节(三):subList的缺陷
2019独角兽企业重金招聘Python工程师标准>>> 我们经常使用subString方法来对String对象进行分割处理,同时我们也可以使用subList.subMap.subSe ...
- Java集合篇:集合细节:为集合指定初始容量、asList的缺陷、subList的缺陷
一.为集合指定初始容量: 集合是我们在Java编程中使用非常广泛的,它就像大海,海纳百川,像万能容器,盛装万物,而且这个大海,万能容器还可以无限变大(如果条件允许).当这个海.容器的量变得非常大的时候 ...
- Java中的subList方法
Java中的subList方法 今天看到了java中List中有个subList的方法,感觉很熟悉有没有?没错,在Stirng类中,也有个类似的方法:subString. Stirng中的subStr ...
最新文章
- php更新数据库时间戳,关于Thinkphp5 里面数据库自动更新与创建时间的问题
- PowerDesigner脚本使用记录
- use resources at the campus if possible
- C语言不用循环不用递归打印0-999的小程序,你看懂了吗?
- 电源pd功能的充电器_PD快充充电器电源芯片和普通充电器电源芯片有什么区别?...
- 清理Mac OSX中安装的nvidia CUDA driver
- debian源码编译安装mysql5.6_MySQL 5.6 Linux Debian/Ubuntu源码编译安装 LNMP之MySQL
- 简析银行业数据中心的特点
- PHP面向对象重要知识点----------第一部分
- 分布式数据库的最新发展情况
- 扫码枪 android 广播,Android 扫码枪监听封装
- 「沙龙回顾」从技术演进角度看猫眼电影
- python选股接口_财码Python量化选股(三)选股分析
- Mac node.js express-generator脚手架安装
- C语言书籍阅读-读书笔记--高质量程序设计指南》--C/C++,林锐
- 高端大气的艺术海报的ps教程
- 爬虫爬取豆瓣电影排行榜
- DTU的功能以及性能
- 初学sap bw的个人心得
- 基于SSM架构的新闻管理系统设计与实现论文
热门文章
- C++实现线段树(lazy-tag方法)-区间修改,区间查询
- 将k个有序链表合并成一个有序链表
- springboot超详细教程_CG原画插画教程:超详细线稿教程
- 偷用计算机作文,偷玩电脑作文500字
- caffe安装常见问题
- spyder 护眼背景
- Ubuntu 上不了网
- 【LOJ#6682】梦中的数论(min_25筛)
- Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化
- 【LOJ166】拉格朗日插值2【拉格朗日插值】【NTT卷积】