当前位置: 首页 > news >正文

Java之字符串分割转换List

Java之字符串分割转换List

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

使用Java8的新特性Stream API

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()方法

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添加依赖

<!-- 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代码

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

Apache Commons Lang库

1,maven添加依赖

<!-- 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代码

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  
http://www.lryc.cn/news/477941.html

相关文章:

  • RabbitMQ如何保证发送的消息可靠(RabbitMQ的Confirm模式和2.Return模式)
  • 适配器模式:类适配器与对象适配器
  • volatile原理
  • 【AI神器】SD(Stable Diffusion)一键安装包
  • lanqiaoOJ 1112:小王子双链表 ← STL list
  • C#WPF之快速理解MVVM模式
  • 微积分[1]|微积分的底层逻辑——解析几何、不等式与极限(含博主推荐的数理阅读教材共计21本书籍)
  • 1-磁盘建立空闲分区
  • 使用SearXNG-搭建个人搜索引擎(附国内可用Docker镜像源)
  • InnoDB 存储引擎<五>undo log, redo log,以及双写缓冲区
  • Find My运动耳机|苹果Find My技术与耳机结合,智能防丢,全球定位
  • 书生大模型实战营Linux+InternStudio 关卡任务
  • 研究实锤:别让大模型「想」太多,OpenAI o1准确率竟下降36.3%
  • C++游戏开发
  • ChatGPT中的RAG;大模型微调;通过正确的提问和回答数据进行问答系统的微调;
  • 6款IntelliJ IDEA插件,让Spring和Java开发如虎添翼
  • 源代码加密解决方案:文档加密与沙盒加密的比较分析
  • Spring Boot 与 Vue 共筑高校网上订餐卓越平台
  • 【数据仓库】Hive 拉链表实践
  • 【python_pandas_将列表按照某几列进行分组,再求和,按照原列表的字段顺序返回】
  • Vue的双向绑定
  • 谷歌浏览器安装 Vue.js devtools 插件
  • LWIP通信协议UDP发送、接收源码解析
  • Linux—进程学习-01
  • FR动态数据源插件支持配置模板中某个数据集进行数据连接的切换
  • epoll 技术为什么用rbtree而不用hashmap呢?
  • 关于Android Studio Koala Feature Drop | 2024.1.2下载不了插件的解决办法
  • 公共命名空间,2024年11月的笔记
  • 登录功能设计(php+mysql)
  • 从0开始学习Linux——远程连接工具