Java之字符串分割转换List

Java之字符串分割转换List

字符串分割成数组然后转换成List有多种方式,以下是每种方式的示例,推荐Java8的新特性Stream。

使用Java8的新特性Stream API

java 复制代码
String str = "aaa,bbb,ccc";  
// 使用Arrays.stream()  
List<String> list1 = Stream.of(str.split(",")).collect(Collectors.toList());  

// 使用Pattern.compile()与splitAsStream()  
List<String> list2 = Pattern.compile(",").splitAsStream(str).collect(Collectors.toList());  	

Arrays.asList()方法

java 复制代码
String str = "aaa,bbb,ccc";  
List<String> list = Arrays.asList(str.split(","));

//注意:Arrays.asList()返回的List是固定大小的,不支持添加或删除元素。
//如果需要可变的List,可以将其转换为ArrayList。
List<String> mutableList = new ArrayList<>(Arrays.asList(str.split(",")));

Guava库

1,maven添加依赖

xml 复制代码
<!-- Maven依赖 -->  
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>33.3.1-jre</version>
</dependency>

2,java代码

java 复制代码
String str = "aaa,bbb,ccc";
Iterable<String> iterable = Splitter.on(',').trimResults().split(str);  
List<String> list = Lists.newArrayList(iterable);

Apache Commons Lang库

1,maven添加依赖

xml 复制代码
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.17.0</version>
</dependency>

2,java代码

java 复制代码
String str = "aaa,bbb,ccc";
String[] array = StringUtils.split(str, ',');  
List<String> list1 = Arrays.asList(array); // 固定大小的List  
// 或者  
List<String> list2 = new ArrayList<>(Arrays.asList(array)); //可变的List  
相关推荐
num_killer22 分钟前
小白的Langchain学习
java·python·学习·langchain
SunkingYang43 分钟前
QT编译报错:使用Lambda表达式作为槽函数,报错‘xxx‘ in capture list does not name a variable
qt·list·报错·lambda表达式·槽函数·in capture list·does not name
期待のcode1 小时前
Java虚拟机的运行模式
java·开发语言·jvm
程序员老徐1 小时前
Tomcat源码分析三(Tomcat请求源码分析)
java·tomcat
a程序小傲1 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
仙俊红1 小时前
spring的IoC(控制反转)面试题
java·后端·spring
阿湯哥1 小时前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring
小楼v2 小时前
说说常见的限流算法及如何使用Redisson实现多机限流
java·后端·redisson·限流算法
与遨游于天地2 小时前
NIO的三个组件解决三个问题
java·后端·nio
czlczl200209252 小时前
Guava Cache 原理与实战
java·后端·spring