List<String>与逗号分隔的字符串互转

将逗号分隔的字符串转换为List

List<String> list = Arrays.asList(str.split(","));
List<String> list = Arrays.asList(StringUtils.split(str, ","));

将逗号连接的字符串转成字符数组:
通过String的split函数可以实现

String aaa = "aa,bb,cc";
String[] split = aaa.split(",");

将list转化为逗号分割的字符串

1.只要不为空,就在后面添加逗号,最后再用subString()函数截取,去掉最后一位的逗号

1.只要不为空,就在后面添加逗号,最后再用subString()函数截取,去掉最后一位的逗号
List<String> test = new ArrayList<>();
String testStrings = "";
test.add("test1");
test.add("test2");
test.add("test3");

for(String object : test){
  if(object != null){
    testStrings +=object + ",";    
  }
}
if(testStrings.length > 0){
  testStrings = testStrings.substring(0,testStrings.length() -1);
}

2.通过StringUtils的join函数直接获取逗号隔开字符串

String str = String.join(",", list);
String str = StringUtils.join(list.toArray(), ",");

3.通过流转换
String newStr = exList.stream().collect(Collectors.joining(“,”)))

public static String parseListToStr(List list) {
    String result = list.stream().map(String::valueOf).collect(Collectors.joining(","));
    return result;
}

4.lambda表达式遍历并加入符号

public static String parseListToStr3(List list){
        StringBuffer sb = new StringBuffer();
        list.stream().forEach(str - > { sb .append(str). append(",");});
        sb.deleteCharAt(sb.length()-1);
        return sb.toString();
}

5.guava的Joiner

Joiner.on(",").join(list);

Demo

package com.it;

import com.google.common.base.Joiner;

import java.util.ArrayList;
import java.util.stream.Collectors;

public class JoinTest {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");

        // 方式一
        String str1 = String.join(",", list);

        // 方式二
        String str2 = list.stream().collect(Collectors.joining(","));


        // 方式三 guava的Joiner
        String str3 = Joiner.on(",").join(list);
    }
}

将字符串中的字符替换

String newStr = str.replace("需替换的字符", "目标字符");

两个list交集问题

String s1 = "50000,100000,200000,300000,500000,";
String s2 = "10000,30000,50000,100000,";
String[] a1 = s1.split(",");
String[] a2 = s2.split(",");
List<String> list = new ArrayList(Arrays.asList(a1));
list.retainAll(Arrays.asList(a2)); // list 中的就是交集了

//如果仅仅需要知道是否有交集:false: 有交集 ;true: 没有交集
Collections.disjoint(list1,list2)
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

strggle_bin

一毛不嫌少,十元不嫌多

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值