集合元素拼接-lambda

127 阅读1分钟

@[TOC] 这次学到了一个集合元素拼接的好方法

要求:

集合中有【“12”,“23”,“45”】 拼接成字符串:12,23,45

普通方法

通过for循环集合遍历,这个方法比较麻烦,需要判断,去除最后一个元素

List<String> listStr=Arrays.asList("asdf","tom","34565");
String buffer="";
   int i=0;
   for (String str:listStr){
            buffer+=str;
            if (i!=(listStr.size()-1)){
                buffer+=",";
            }
            i++;
        }
  System.out.println(buffer);

String.join()

这是JDK8才有的特性哦

是不是非常简单呢

第一个参数是中间拼接的字符,第二个是集合

List<String> listStr=Arrays.asList("asdf","tom","34565");
String str=String.join(",",listStr);
System.out.println(str);

StringJoiner

StringJoiner joiner=new StringJoiner(",");
        joiner.add("aa");
        joiner.add("bb");
        joiner.add("cc");
        System.out.println(joiner);

lambda表达式

List<String> listStr=Arrays.asList("asdf","tom","34565");
String str=listStr.stream().collect(Collectors.joining(","));
System.out.println(str);