今天看到了javaList中有个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???相关推荐

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

    大家好,我是雄雄. 前几期我们说过,subList方法是返回原列表的子列表,并且我们还说过,在subList返回的子列表上操作时,会直接影响着原列表,原文在这里: subList?? subStrin ...

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

    大家好,我是雄雄. 今天我们还是分享关于集合的内容. 假如有这样的需求,已知集合的长度为100,也就是集合中有100个元素,现需要删除索引20-30之间的元素,我们应该怎么实现呢?我们先初始化集合,代 ...

  3. 子列表只是原列表的一个视图

    原文参考:<编写高质量代码:改善java程序的151个建议> 本文原创:穆雄雄 上期文章: subList?? subString??? 上期我们说到,List接口提供了subList方法 ...

  4. 某同学工作之后的感悟

    本文原创:王梦茹 以下是王梦茹同学在学习中和工作中的感悟. 01 学习中 出来之后发现在学校的学习效率是远远比自主学习效率高的,学什么东西之前都会先知道他的大体概念,通透了解一下再学习会发现有效率的多 ...

  5. “半路出家”的程序猿怎么不被“熊”

    文本原创:孙浩 投稿这篇文章总有点'好为人师'的感觉,但是自己作为一个"半路出家"的程序看过太多的和我同样出身的程序半途而废了.我现在在一家软件公司就职,担任技术主管职位. 01 ...

  6. mark一个subList的坑

    为什么80%的码农都做不了架构师?>>>    我们经常使用subString方法来对String对象进行分割处理,同时我们也可以使用subList.subMap.subSet来对L ...

  7. Java集合细节(三):subList的缺陷

    2019独角兽企业重金招聘Python工程师标准>>> 我们经常使用subString方法来对String对象进行分割处理,同时我们也可以使用subList.subMap.subSe ...

  8. Java集合篇:集合细节:为集合指定初始容量、asList的缺陷、subList的缺陷

    一.为集合指定初始容量: 集合是我们在Java编程中使用非常广泛的,它就像大海,海纳百川,像万能容器,盛装万物,而且这个大海,万能容器还可以无限变大(如果条件允许).当这个海.容器的量变得非常大的时候 ...

  9. Java中的subList方法

    Java中的subList方法 今天看到了java中List中有个subList的方法,感觉很熟悉有没有?没错,在Stirng类中,也有个类似的方法:subString. Stirng中的subStr ...

最新文章

  1. php更新数据库时间戳,关于Thinkphp5 里面数据库自动更新与创建时间的问题
  2. PowerDesigner脚本使用记录
  3. use resources at the campus if possible
  4. C语言不用循环不用递归打印0-999的小程序,你看懂了吗?
  5. 电源pd功能的充电器_PD快充充电器电源芯片和普通充电器电源芯片有什么区别?...
  6. 清理Mac OSX中安装的nvidia CUDA driver
  7. debian源码编译安装mysql5.6_MySQL 5.6 Linux Debian/Ubuntu源码编译安装 LNMP之MySQL
  8. 简析银行业数据中心的特点
  9. PHP面向对象重要知识点----------第一部分
  10. 分布式数据库的最新发展情况
  11. 扫码枪 android 广播,Android 扫码枪监听封装
  12. 「沙龙回顾」从技术演进角度看猫眼电影
  13. python选股接口_财码Python量化选股(三)选股分析
  14. Mac node.js express-generator脚手架安装
  15. C语言书籍阅读-读书笔记--高质量程序设计指南》--C/C++,林锐
  16. 高端大气的艺术海报的ps教程
  17. 爬虫爬取豆瓣电影排行榜
  18. DTU的功能以及性能
  19. 初学sap bw的个人心得
  20. 基于SSM架构的新闻管理系统设计与实现论文

热门文章

  1. C++实现线段树(lazy-tag方法)-区间修改,区间查询
  2. 将k个有序链表合并成一个有序链表
  3. springboot超详细教程_CG原画插画教程:超详细线稿教程
  4. 偷用计算机作文,偷玩电脑作文500字
  5. caffe安装常见问题
  6. spyder 护眼背景
  7. Ubuntu 上不了网
  8. 【LOJ#6682】梦中的数论(min_25筛)
  9. Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化
  10. 【LOJ166】拉格朗日插值2【拉格朗日插值】【NTT卷积】