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  
相关推荐
海兰14 分钟前
Elasticsearch Java 客户端(9.x)
java·elasticsearch·jenkins
重生之后端学习19 分钟前
17. 电话号码的字母组合
java·开发语言·数据结构·算法·深度优先
蜜獾云36 分钟前
JAVA面试题速记-redis知识点
java·开发语言·redis
Drifter_yh1 小时前
「JVM」 深入理解 StringTable:从底层编译优化到 intern 核心解密
java·jvm
三无少女指南1 小时前
开发者环境配置最佳实践:编辑器Cursor ,VS Code的上位体验实现 AI 与 WSL 联动
运维·c语言·数据库·windows·git·编辑器
JavaLearnerZGQ1 小时前
Spring Boot 流式响应接口核心组件解析
java·spring boot·后端
cur1es1 小时前
【TCP 协议的相关特性】
java·网络·网络协议·tcp/ip·tcp·滑动窗口·连接管理
山岚的运维笔记1 小时前
SQL Server笔记 -- 第80章:分页
java·数据库·笔记·sql·microsoft·sqlserver
开开心心就好1 小时前
文字转语音无字数限,对接微软接口比付费爽
java·linux·开发语言·人工智能·pdf·语音识别
海兰1 小时前
Elasticsearch 9.x Java 异步客户端
java·elasticsearch·jenkins