今天看到了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
点分享
点点赞
点在看