一、使用split()方法进行分割
在将一个字符串转换为ArrayList时,我们可以使用String类的split()方法对该字符串进行分割,然后将分割后的各个子字符串逐个添加到ArrayList中。对于小规模的字符串转换,这种方法可以达到较高的效率。
String str = "a,b,c,d";
String[] strArr = str.split(",");
ArrayList<String> list = new ArrayList<>();
for(String s : strArr) {
list.add(s);
}
使用上述代码可以将字符串”a,b,c,d”转换为ArrayList,其中用逗号”,”对字符串进行分割。
二、使用正则表达式进行分割
在split()方法中,也可以使用正则表达式对字符串进行更复杂的分割。但是,由于正则表达式的执行效率较低,当字符串较庞大时,采用正则表达式进行分割的效率会大大降低。
String str = "1,2,3;a,b,c;d,e,f";
String[] strArr = str.split(";|,");
ArrayList<String> list = new ArrayList<>();
for(String s : strArr) {
list.add(s);
}
使用上述代码可以将字符串”1,2,3;a,b,c;d,e,f”按分号”;”和逗号”,”进行分割,然后将分割后的各个子字符串逐个添加到ArrayList中。
三、使用StringTokenizer进行分割
在对字符串进行分割时,除了split()方法外,还可以使用StringTokenizer类进行分割。相较于split()方法,StringTokenizer采用了更原始的操作方式,因而效率更高。
String str = "apple,orange,banana";
StringTokenizer st = new StringTokenizer(str, ",");
ArrayList<String> list = new ArrayList<>();
while (st.hasMoreTokens()) {
list.add(st.nextToken());
}
使用上述代码可以将字符串”apple,orange,banana”按逗号”,”进行分割,然后将分割后的各个子字符串逐个添加到ArrayList中。
四、使用Stream进行快速转换
Java 8引入了Stream API,我们可以使用Stream对字符串进行分割,并将分割后的字符串快速转换为ArrayList。
String str = "1,2,3,4,5";
List<String> list = Arrays.stream(str.split(",")).collect(Collectors.toList());
使用上述代码可以将字符串”1,2,3,4,5″按逗号”,”进行分割,并将分割后的各个子字符串转换为List。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/289381.html
微信扫一扫
支付宝扫一扫