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

【日常总结 - 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 转 字符串 第一种&#xff1a;使用谷歌Joiner方法 (推荐) 第二种&#xff1a;循环插入逗号 第三种&#xff1a;stream流 (推荐) 第四种&#xff1a;lambda表达式遍历并加入逗号 二、字符串 转 list 方法一&#xff1a;使用split()方法 方法二&#xff1a;使用C…...

《幻兽帕鲁》好玩吗?幻兽帕鲁能在Mac上运行吗?

最近一款叫做《幻兽帕鲁》的新游戏走红&#xff0c;成为了Steam游戏平台上&#xff0c;连续3周的销量冠军&#xff0c;有不少Mac电脑用户&#xff0c;利用Crossover成功玩上了《幻兽帕鲁》&#xff0c;其实Crossover已经支持很多3A游戏&#xff0c;包括《赛博朋克2077》《博德之…...

【数据分享】1929-2023年全球站点的逐日平均能见度(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;说到常用的降水数据&#xff0c;最详细的降水数据是具体到气象监测站点的降水数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2023年全…...

浅谈——开源软件的影响力

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 ✨特色专栏&#xff1a…...

MySQL-事务(TRANSACTION)

文章目录 1. 事务概述2. 事务的四大特性&#xff08;ACID&#xff09;3. 控制事务4. 并发事务产生的问题5. 事务的隔离级别6. 拓展6.1 InnoDB如何解决幻读&#xff1f;6.2 MySQL实现事务的原理&#xff1f; 1. 事务概述 定义&#xff1a;数据库的事务&#xff08; Transaction…...

Vue 实现动态路由

Vue 实现动态路由 Vue中实现动态路由主要涉及到两个方面&#xff1a;一是路由的动态添加&#xff0c;二是基于路由的参数变化来动态渲染组件。这通常在使用Vue Router时进行配置和实现。以下是实现动态路由的一些基本步骤和概念&#xff1a; 安装和设置Vue Router npm insta…...

docker elasticsearch8启动失败

docker elasticsearch8.12.0启动后提示这个&#xff0c;并且始终无法访问localhost:9200 received plaintext http traffic on an https channel, closing connection Netty4HttpChannel 解决方案&#xff1a;重新创建 elasticsearch容器&#xff0c;加上 -e xpack.security.…...

《Python 网络爬虫简易速速上手小册》第1章:Python 网络爬虫基础(2024 最新版)

文章目录 1.1 网络爬虫简介1.1.1 重点基础知识讲解1.1.2 重点案例&#xff1a;社交媒体数据分析1.1.3 拓展案例1&#xff1a;电商网站价格监控1.1.4 拓展案例2&#xff1a;新闻聚合服务 1.2 网络爬虫的工作原理1.2.1 重点基础知识讲解1.2.2 重点案例&#xff1a;股票市场数据采…...

使用 IntelliJ IDEA 配合 Docker 对 Weblogic 中间件进行远程调试

使用idea对jar包远程调试&#xff1a; 打开一个springboot的项目进行远程调试设置&#xff1a; 运行&#xff1a; 其实我不太明白远程调试的意义&#xff0c;本地直接debug不好嘛。。。 点击debug的按钮&#xff0c;打断点测试&#xff1a; 跑到断点处&#xff1a; 远程de…...

ArcGIS学习(三)数据可视化

ArcGIS学习(三)数据可视化 1.矢量数据可视化 需要提前说明的是,在ArcGIS中,所有的可视化选项设置都是在“图层属性”对话框里面的“符号系统”中实现的。 对于矢量数据的可视化,主要有四种可视化方式: 按“要素”可视化按“类别”可视化按“数量”可视化按“图表”可视…...

【使用 Python 进行 NLP】 第 2 部分 NLTK

一、说明 Python 有一些非常强大的 NLP 库&#xff0c;NLTK — 自然语言工具包 — NLTK 是一个强大的开源库&#xff0c;用于 NLP 的研究和开发。它内置了 50 多个文本语料库和词汇资源。它支持文本标记化、词性标记、词干提取、词形还原、命名实体提取、分割、分类、语义推理。…...

【软件设计师笔记】深入探究操作系统

【软件设计师笔记】计算机系统基础知识考点(传送门) &#x1f496; 【软件设计师笔记】程序语言设计考点(传送门) &#x1f496; &#x1f413; 操作系统的作用 1.通过资源管理提高计算机系统的效率 2.改善人机界面向用户提供友好的工作环境 &#x1f413; 操作系统的特征 …...

python常用pandas函数nlargest / nsmallest及其手动实现

目录 pandas库 Series和DataFrame nlargest和nsmallest 用法示例 代替方法 手动实现 模拟代码 pandas库 是Python中一个非常强大的数据处理库,提供了高效的数据分析方法和数据结构。它特别适用于处理具有关系型数据或带标签数据的情况,同时在时间序列分析方面也有着出…...

web前端-------弹性盒子(2)

上一讲我们谈的是盒子的容器实行&#xff0c;今天我们来聊一聊弹性盒子的项目属性&#xff1b; *******************&#xff08;1&#xff09;顺序属性 order属性&#xff0c;用于定义容器中项目的出现顺序。 顺序属性值&#xff0c;为整数&#xff0c;可以为负数&#xff…...

图论练习4

内容&#xff1a;染色划分&#xff0c;带权并查集&#xff0c;扩展并查集 Arpa’s overnight party and Mehrdad’s silent entering 题目链接 题目大意 个点围成一圈&#xff0c;分为对&#xff0c;对内两点不同染色同时&#xff0c;相邻3个点之间必须有两个点不同染色问构…...

flutter go_router 官方路由(一)基本使用

1 项目中添加最新的依赖 go_router: ^13.1.0如下图所示&#xff0c;我当前使用的flutter版本为3.16.0 然后修改应用的入口函数如下&#xff1a; import package:flutter/material.dart; import package:go_router/go_router.dart;void main() {runApp(const MyApp()); }cla…...

QT中,对于大小端UDP网络发送的demo,帧头帧尾

简单demo: 发送端&#xff1a; #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网络的三类地址及其相互关系

随着互联网的普及和发展&#xff0c;IP网络已成为全球范围内最重要的信息交换平台。在IP网络中&#xff0c;IP地址是每个设备在网络中的唯一标识&#xff0c;是实现网络通信的关键。虎观代理小二二将详细介绍IP网络中的三类地址&#xff0c;即A类、B类和C类地址&#xff0c;以及…...

开源计算机视觉库OpenCV详细介绍

开源计算机视觉库OpenCV详细介绍 1. OpenCV简介 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库。它最初由Intel开发&#xff0c;现在由一个庞大的社区维护和更新。OpenCV旨在提供一个通用、跨平台的计算机…...

go消息队列RabbitMQ - 订阅模式-direct

1.发布订阅 在Fanout模式中&#xff0c;一条消息&#xff0c;会被所有订阅的队列都消费。但是&#xff0c;在某些场景下&#xff0c;我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下&#xff1a; 队列与交换机的绑定&#xff0c;不能…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁

赛门铁克威胁猎手团队最新报告披露&#xff0c;数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据&#xff0c;严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能&#xff0c;但SEMR…...