【日常总结 - java】list 与 字符串(用逗号隔开)相互转换
一、list 转 字符串
第一种:使用谷歌Joiner方法 (推荐)
第二种:循环插入逗号
第三种:stream流 (推荐)
第四种:lambda表达式遍历并加入逗号
二、字符串 转 list
方法一:使用split()方法
方法二:使用Collections.addAll()方法
方法三:使用Java 8的Stream API (推荐)
方法四:使用Guava库 (不推荐,需要引入Guava库)
一、list 转 字符串
第一种:使用谷歌Joiner方法 (推荐)
import com.google.common.base.Joiner;public static <T> String parseListToStr(List<T> list){String result = Joiner.on(",").join(list);return result;
}
第二种:循环插入逗号
public static <T> String parseListToStr(List<T> list){StringBuffer sb = new StringBuffer();if(listIsNotNull(list)) {for(int i=0;i<=list.size()-1;i++){if(i<list.size()-1){sb.append(list.get(i) + ",");}else {sb.append(list.get(i));}}}return sb.toString();}
第三种:stream流 (推荐)
public static <T> String parseListToStr3(List<T> list){String result = list.stream().map(String::valueOf).collect(Collectors.joining(","));return result;
}
第四种:lambda表达式遍历并加入逗号
public static <T> String parseListToStr2(List<T> list){StringBuffer sb = new StringBuffer();list.stream().forEach(str->{sb.append(str).append(",");});sb.deleteCharAt(sb.length()-1);return sb.toString();}
二、字符串 转 list
//假设
String str = "apple,banana,orange";
方法一:使用split()方法
String[] strArray = str.split(",");//方式一:不支持添加和删除操作
List<String> list1 = Arrays.asList(strArray); //方式二:支持添加和删除操作(推荐)
List<String> list2 = new ArrayList<>(Arrays.asList(strArray));
方法二:使用Collections.addAll()方法
String[] strArray = str.split(",");
List<String> list = new ArrayList<>();
Collections.addAll(list, strArray);
方法三:使用Java 8的Stream API (推荐)
List<String> list = Stream.of(str.split(",")).collect(Collectors.toList());
Java 11 +,可以直接使用String类的lines()方法将字符串转换为Stream对象。
方法四:使用Guava库 (不推荐,需要引入Guava库)
String str = "apple,banana,orange";
Iterable<String> iterable = Splitter.on(",").trimResults().split(str);
List<String> list = Lists.newArrayList(iterable);
注意:使用Guava库需要添加相关
相关文章:
【日常总结 - java】list 与 字符串(用逗号隔开)相互转换
一、list 转 字符串 第一种:使用谷歌Joiner方法 (推荐) 第二种:循环插入逗号 第三种:stream流 (推荐) 第四种:lambda表达式遍历并加入逗号 二、字符串 转 list 方法一:使用split()方法 方法二:使用C…...
《幻兽帕鲁》好玩吗?幻兽帕鲁能在Mac上运行吗?
最近一款叫做《幻兽帕鲁》的新游戏走红,成为了Steam游戏平台上,连续3周的销量冠军,有不少Mac电脑用户,利用Crossover成功玩上了《幻兽帕鲁》,其实Crossover已经支持很多3A游戏,包括《赛博朋克2077》《博德之…...
【数据分享】1929-2023年全球站点的逐日平均能见度(Shp\Excel\免费获取)
气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,说到常用的降水数据,最详细的降水数据是具体到气象监测站点的降水数据! 有关气象指标的监测站点数据,之前我们分享过1929-2023年全…...
浅谈——开源软件的影响力
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏:…...
MySQL-事务(TRANSACTION)
文章目录 1. 事务概述2. 事务的四大特性(ACID)3. 控制事务4. 并发事务产生的问题5. 事务的隔离级别6. 拓展6.1 InnoDB如何解决幻读?6.2 MySQL实现事务的原理? 1. 事务概述 定义:数据库的事务( Transaction…...
Vue 实现动态路由
Vue 实现动态路由 Vue中实现动态路由主要涉及到两个方面:一是路由的动态添加,二是基于路由的参数变化来动态渲染组件。这通常在使用Vue Router时进行配置和实现。以下是实现动态路由的一些基本步骤和概念: 安装和设置Vue Router npm insta…...
docker elasticsearch8启动失败
docker elasticsearch8.12.0启动后提示这个,并且始终无法访问localhost:9200 received plaintext http traffic on an https channel, closing connection Netty4HttpChannel 解决方案:重新创建 elasticsearch容器,加上 -e xpack.security.…...
《Python 网络爬虫简易速速上手小册》第1章:Python 网络爬虫基础(2024 最新版)
文章目录 1.1 网络爬虫简介1.1.1 重点基础知识讲解1.1.2 重点案例:社交媒体数据分析1.1.3 拓展案例1:电商网站价格监控1.1.4 拓展案例2:新闻聚合服务 1.2 网络爬虫的工作原理1.2.1 重点基础知识讲解1.2.2 重点案例:股票市场数据采…...
使用 IntelliJ IDEA 配合 Docker 对 Weblogic 中间件进行远程调试
使用idea对jar包远程调试: 打开一个springboot的项目进行远程调试设置: 运行: 其实我不太明白远程调试的意义,本地直接debug不好嘛。。。 点击debug的按钮,打断点测试: 跑到断点处: 远程de…...
ArcGIS学习(三)数据可视化
ArcGIS学习(三)数据可视化 1.矢量数据可视化 需要提前说明的是,在ArcGIS中,所有的可视化选项设置都是在“图层属性”对话框里面的“符号系统”中实现的。 对于矢量数据的可视化,主要有四种可视化方式: 按“要素”可视化按“类别”可视化按“数量”可视化按“图表”可视…...
【使用 Python 进行 NLP】 第 2 部分 NLTK
一、说明 Python 有一些非常强大的 NLP 库,NLTK — 自然语言工具包 — NLTK 是一个强大的开源库,用于 NLP 的研究和开发。它内置了 50 多个文本语料库和词汇资源。它支持文本标记化、词性标记、词干提取、词形还原、命名实体提取、分割、分类、语义推理。…...
【软件设计师笔记】深入探究操作系统
【软件设计师笔记】计算机系统基础知识考点(传送门) 💖 【软件设计师笔记】程序语言设计考点(传送门) 💖 🐓 操作系统的作用 1.通过资源管理提高计算机系统的效率 2.改善人机界面向用户提供友好的工作环境 🐓 操作系统的特征 …...
python常用pandas函数nlargest / nsmallest及其手动实现
目录 pandas库 Series和DataFrame nlargest和nsmallest 用法示例 代替方法 手动实现 模拟代码 pandas库 是Python中一个非常强大的数据处理库,提供了高效的数据分析方法和数据结构。它特别适用于处理具有关系型数据或带标签数据的情况,同时在时间序列分析方面也有着出…...
web前端-------弹性盒子(2)
上一讲我们谈的是盒子的容器实行,今天我们来聊一聊弹性盒子的项目属性; *******************(1)顺序属性 order属性,用于定义容器中项目的出现顺序。 顺序属性值,为整数,可以为负数ÿ…...
图论练习4
内容:染色划分,带权并查集,扩展并查集 Arpa’s overnight party and Mehrdad’s silent entering 题目链接 题目大意 个点围成一圈,分为对,对内两点不同染色同时,相邻3个点之间必须有两个点不同染色问构…...
flutter go_router 官方路由(一)基本使用
1 项目中添加最新的依赖 go_router: ^13.1.0如下图所示,我当前使用的flutter版本为3.16.0 然后修改应用的入口函数如下: import package:flutter/material.dart; import package:go_router/go_router.dart;void main() {runApp(const MyApp()); }cla…...
QT中,对于大小端UDP网络发送的demo,帧头帧尾
简单demo: 发送端: #include <QUdpSocket> #include <QtEndian>#pragma pack(1) struct Test {unsigned char t1:1;unsigned char t2:2;unsigned char t3:3;unsigned char t4:2;quint8 a 1;quint16 b 2;quint16 c 3;//double b …...
ip网络的三类地址及其相互关系
随着互联网的普及和发展,IP网络已成为全球范围内最重要的信息交换平台。在IP网络中,IP地址是每个设备在网络中的唯一标识,是实现网络通信的关键。虎观代理小二二将详细介绍IP网络中的三类地址,即A类、B类和C类地址,以及…...
开源计算机视觉库OpenCV详细介绍
开源计算机视觉库OpenCV详细介绍 1. OpenCV简介 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它最初由Intel开发,现在由一个庞大的社区维护和更新。OpenCV旨在提供一个通用、跨平台的计算机…...
go消息队列RabbitMQ - 订阅模式-direct
1.发布订阅 在Fanout模式中,一条消息,会被所有订阅的队列都消费。但是,在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下: 队列与交换机的绑定,不能…...
歌词工具颠覆体验:LRCGet本地音乐歌词同步与音乐管理全攻略
歌词工具颠覆体验:LRCGet本地音乐歌词同步与音乐管理全攻略 【免费下载链接】lrcget Utility for mass-downloading LRC synced lyrics for your offline music library. 项目地址: https://gitcode.com/gh_mirrors/lr/lrcget 在数字音乐时代,本地…...
3分钟快速破解:百度网盘提取码智能获取工具终极指南
3分钟快速破解:百度网盘提取码智能获取工具终极指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而烦恼吗?每次遇到加密资源都要手动搜索,既耗时又低效。…...
Rplidar 报错 RESULT_OPERATION_TIMEOUT 排查指南:从波特率到硬件自检的完整流程
1. 遇到RESULT_OPERATION_TIMEOUT报错时的心态调整 第一次看到Rplidar弹出"Error, operation time out. RESULT_OPERATION_TIMEOUT!"的时候,我也是一头雾水。这种报错就像突然断电的电脑——你不知道是电源线松了还是主板烧了。但根据我处理过上百次这类问…...
雪女-斗罗大陆-造相Z-Turbo与STM32的趣味结合:在嵌入式设备上展示AI生成的艺术
雪女-斗罗大陆-造相Z-Turbo与STM32的趣味结合:在嵌入式设备上展示AI生成的艺术 你有没有想过,把《斗罗大陆》里那位冰清玉洁的雪女,通过最新的AI绘画模型“造相Z-Turbo”生成出来,然后让她在一块小小的、几十块钱的STM32开发板的…...
2026年服装收银软件选型指南:五大功能决定门店提效与增长
很多服装门店都遇到过这样的困境:网络波动导致无法收款,眼睁睁看着顾客放下衣服离开;促销规则设置不到位,收银时算错优惠引发客诉;活动结束了,线上线下数据对不上,投入的钱看不到效果。这些问题…...
学术研究必备:8款AI论文写作工具,爱毕业aibiye高效实用
人工智能技术在学术研究领域的深度整合为论文撰写流程带来了革命性变革,通过8款核心智能工具的协同应用——包括文献智能分析系统、自动化内容生成引擎以及文本精准优化平台——研究者能够实现从数据挖掘到学术表达的全程智能化,显著提升文献处理效率与学…...
Apache NetBeans多语言支持深度解析:PHP、Groovy、HTML全攻略
Apache NetBeans多语言支持深度解析:PHP、Groovy、HTML全攻略 【免费下载链接】netbeans Apache NetBeans 项目地址: https://gitcode.com/gh_mirrors/ne/netbeans Apache NetBeans是一款功能强大的集成开发环境(IDE),以其…...
dumper.js性能优化:大型对象检查的10个实用技巧
dumper.js性能优化:大型对象检查的10个实用技巧 【免费下载链接】dumper.js A better and pretty variable inspector for your Node.js applications 项目地址: https://gitcode.com/gh_mirrors/du/dumper.js dumper.js是一款为Node.js应用打造的变量检查工…...
DeepSeek LintCode 3706 · 满足条件的数对的数量 public long countValidPairs(int[] nums1, int[] nums2, int dif
这个问题是 LintCode 3706 “满足条件的数对的数量”,要求统计满足 nums1[i] - nums1[j] < nums2[i] - nums2[j] diff(其中 i < j)的数对 (i, j) 的数量。 问题理解 给定两个数组 nums1 和 nums2,以及一个整数 diff&#…...
避坑指南:Oracle EBS AR模块数据查询中的10个常见错误与优化技巧
Oracle EBS AR模块数据查询实战:10个高频错误解析与性能优化指南 当你面对Oracle EBS AR模块的海量数据时,是否经常遇到查询结果不符预期、性能低下甚至系统卡死的困境?作为从业15年的EBS技术顾问,我见过太多团队在AR数据查询上踩…...
