Using stream.collect(Collectors.joining(\", \")) I can easily join all the strings of my stream delimited by a comma. A possible result would be \"a, b, c
If you are looking for old Java solution, using Guava libraries would be easy.
List values = Arrays.asList("a", "b", "c");
String output = Joiner.on(",").join(values);
output = output.substring(0, output.lastIndexOf(","))+" and "+values.get(values.size()-1);
System.out.println(output);//a,b and c