Java 8流收集

时间:2018-11-26 07:47:41

标签: java java-8 java-stream

如何在Java 8中执行此操作。例如,我有一个ArrayList<String>

List<String> places = Arrays.asList("Apple", "Banana", "Coconut");

我想将其存储为一个字符串

  • 单个项目必须用单引号引起来
  • 以逗号分隔
  • 放在括号中

结果:['Apple', 'Banana', 'Coconut']

1 个答案:

答案 0 :(得分:4)

也许是这样:

String string = places.stream().collect(Collectors.joining("', '", "['", "']"));

更新

正如另一个用户提醒我的那样,要处理空列表,必须重构代码:

String string = places
                 .stream()
                 .map(e -> "'" + e + "'")
                 .collect(Collectors.joining(", ", "[", "]"));