把逗号分隔的String字符串转List<Integer>
- 把逗号分隔的String字符串转int集合
- 集合或数组转变为逗号分隔的字符串的几种方式
- 1、自己编码实现
- 2、org.apache.commons.lang3.StringUtils
- 3、StringJoiner, JDK1.8+
- 4、String.join(), JDK1.8+
- 5、Stream, Collectors.joining(), JDK1.8+
把逗号分隔的String字符串转int集合
代码通过Java 8 Stream实现起来非常容易!
- String ids = "1,2,3,4,5";
- List<Integer> idList = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList());
集合或数组转变为逗号分隔的字符串的几种方式
首先,创建一个集合
- List<String> list = Lists.newArrayList(null, "bob", "jack");
1、自己编码实现
- public static <T> String join(List<T> list, String splitStr) {
- if (CollectionUtils.isEmpty(list))
- return "";
- if (list.size() == 1)
- return String.valueOf(list.get(0));
- StringBuilder sb = new StringBuilder();
- boolean isFirst = true;
- for (int i = 0; i < list.size(); i++) {
- if (!isFirst) sb.append(splitStr);
- sb.append(String.valueOf(list.get(i)));
- isFirst = false;
- }
- return sb.toString();
- }
- public static <T> String join(T[] array, String splitStr) {
- if (ArrayUtils.isEmpty(array))
- return "";
- if (array.length == 1)
- return String.valueOf(array[0]);
- StringBuilder sb = new StringBuilder();
- boolean isFirst = true;
- for (int i = 0; i < array.length; i++) {
- if (!isFirst) sb.append(splitStr);
- sb.append(String.valueOf(array[i]));
- isFirst = false;
- }
- return sb.toString();
- }
输出
null,bob,jack
2、org.apache.commons.lang3.StringUtils
- System.out.println(StringUtils.join(list.toArray(), ","));
输出
,bob,jack
3、StringJoiner, JDK1.8+
- StringJoiner sj = new StringJoiner(",");
- list.forEach(e -> sj.add(String.valueOf(e)));
- System.out.println(sj.toString());
- // 在连接之前操作字符串, 拼接前缀和后缀
- StringJoiner sj2 = new StringJoiner(",", "START_", "_END");
- list.forEach(e -> sj2.add(String.valueOf(e)));
- System.out.println(sj2.toString());
输出
null,bob,jack
START_null,bob,jack_END
4、String.join(), JDK1.8+
- System.out.println(String.join(",", list));
输出
null,bob,jack
5、Stream, Collectors.joining(), JDK1.8+
- System.out.println(list.stream().collect(Collectors.joining(",")));
- // 在连接之前操作字符串, 拼接前缀和后缀
- String str = list.stream().map(e -> {
- if (e != null) return e.toUpperCase();
- else return "null";
- }).collect(Collectors.joining(",", "START_", "_END"));
- System.out.println(str);
输出
null,bob,jack
START_null,BOB,JACK_END
把逗号分隔的String字符串转List<Integer>的更多相关文章
- java中的BigDecimal和String的相互转换,int和String的类型转换,Integer类和String相互转换
一: /*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ 注:BigDecimal在数据库中存的是number类型. import java.math.B ...
- redis:string字符串类型的操作
1. string字符串类型的操作: 1.1. set 设置单个值 语法:set key value [EX seconds] [PX milliseconds] [NX|XX] 注: EX seco ...
- java String字符串
五.java数据类型之String(字符串) CreateTime--2017年7月21日16:17:45 Author:Marydon (一)数据格式 (二)初始化 // 方式一 String ...
- [LeetCode] 387. First Unique Character in a String 字符串的第一个唯一字符
Given a string, find the first non-repeating character in it and return it's index. If it doesn't ex ...
- String字符串相关操作
.length 字符串长度.equals 比较字符串.equalIgnoreCase 比较字符串不区别大小写.charAt 获取字符串指定下标位置的字符.contains 判断字符串内是否包含某字符串 ...
- Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0
课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值 String str=& ...
- [CareerCup] 1.3 Permutation String 字符串的排列
1.3 Given two strings, write a method to decide if one is a permutation of the other. 这道题给定我们两个字符串,让 ...
- 03-Java String字符串详解
1.Java字符串String A.实例化String字符串:直接赋值(更合理一些,使用较多).使用关键字new. B.String内容的比较 // TODO Auto-generated metho ...
- C++学习38 string字符串的增删改查
C++ 提供的 string 类包含了若干实用的成员函数,大大方便了字符串的增加.删除.更改.查询等操作. 插入字符串 insert() 函数可以在 string 字符串中指定的位置插入另一个字符串, ...
- C++学习37 string字符串的访问和拼接
访问字符串中的字符 string 字符串也可以像字符串数组一样按照下标来访问其中的每一个字符.string 字符串的起始下标仍是从 0 开始.请看下面的代码: #include <iostrea ...
随机推荐
- 学 Rust 要几天?「GitHub 热点速览 v.22.51」
本周的 GitHub Trending 非常给力,一是解决了 Rust 的学习问题,提供了一个全面的教学课程:二是提供了多个高性能工具,比如,为 PWA 而生的 atrilabs-engine,部署方 ...
- linux硬盘分区挂载
这里使用手动挂载方式,还有其他挂载方式请百度 检查网站的磁盘状态,确认是否有没有分区的磁盘. fdisk -l 如图所示,这个服务器有两个硬盘第一个299.0G,第二个20000.0G.这种情况说明硬 ...
- 如何在Github上创建一个新仓库
Hi,欢迎大家在有空的时候做客[江涛学编程],这里是2023年的第6篇原创文章,新年新气象,在这里我祝读者朋友们都好好的, 老规矩,拍拍手,上菜. 今天没有啥东西要跟家人们分享,就两个字,看图!!! ...
- CF896E Welcome home, Chtholly
题面 维护一个\(n(n\leqslant 100000)\)个元素序列\(a_1,a_2,\dots,a_n\),有\(m(m\leqslant 100000)\)次操作,分为如下两种. 给定\(l ...
- (原创)【B4A】一步一步入门01:简介、开发环境搭建、HelloWorld
一.前言 作者注:絮絮叨叨,可跳过不看. 一直有开发跨平台软件的需求.因为我的主力是C# ,所以当MAUI出现后,我欣喜若狂的开始学习研究.但是经历了两个月左右的时间,我弃坑了,我发现MAUI不是我能 ...
- 包装类总结-Collection集合概述
包装类总结 1.基本数据类型对应的包装类byte Byteshort Shortint Integerlong Longfloat Floatdouble Doublechar Characterbo ...
- Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.1.0
maven package 异常,今天打包springboot项目时碰到的问题. Failed to execute goal org.apache.maven.plugins:maven-resou ...
- 软工综合实践课设——员工招聘系统(参考BOSS直聘);Pyhton实现
应用背景: 随着科学技术的发展,岗位数量越来越多,特别是每逢毕业季找工作的人数也很多,如果人们找工作或者企业招人靠纯手工的话,费时费力,仅仅是筛选简历和费劲,并且员工找工作投简历可能得需要克服时间和空 ...
- UICC Send USSD 加密信息解析
已以下指令为例 已知发送 USSD 的格式为:Send USSD aaaxxxxxxxxxxxx*yyyyyyy# ;Fetch:==:SEND USSD SEND 801200001F ASSERT ...
- 数字游戏(NOIP 2003 PJT2)
一 原始数据处理 1.输入数据得到a[1]~a[n],复制扩展a[n+1]~a[2*n],以便处理不同点为起点出发. cin>>n>>m; for(int i=1;i<= ...