I have created simple for loop based solution to append dash(-) on every third digit.
 private String appendedDashOnEachThirdDigit(String digitString) {
    char digits[] = digitString.toCharArray();
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < digits.length; i++) {
      char ch = digits[i];
      builder.append(ch);
      if ((i + 1) % 3 == 0 && i - 1 != digits.length) {
        builder.append('-');
      }
    }
    return builder.toString();
  }
Now I want to create equivalent java 8 stream based solution. This is very basic case and I want to know how this can be done with stream api?
I have created this basic stream function:-
  private String appendedDashOnEachThirdDigitByStream(String digitString) {
    //char[] chars = digitString.toCharArray();
    //return IntStream.range(0, chars.length)
    //    .filter(i -> (i + 1) % 3 == 0 && i - 1 != chars.length)
    //    .collect(Collectors.collectingAndThen(Collectors.toList(),
    //        new Function<List<Object>, Object>() {
    //        }))
   return digitString.chars()
        .mapToObj(value -> String.valueOf((char) value))
        .collect(Collectors.joining("-"));
  } 
    