程序员一代码搬运工
【Java学习心得和Java学习技术个人总结】

java8之Stream-Collect操作

1.使用谷歌的Joiner转换

public static <T> String parseListToStr(List<T> list){
   String result = Joiner.on(",").join(list);
   return result;
}

2.使用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();
}

3.直接使用stream流实现

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

4.使用for循环遍历集合

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();
  }

注意:在转换集合前应该都统一做判空处理

赞(0)
未经允许不得转载:程序员一代码搬运工 » java8之Stream-Collect操作
分享到: 更多 (0)