以java 8方式添加postfix

rkj*_*983 1 java java-8

我需要一个函数,它返回一个包含{XXX11, XXX12, XXX13, XXX14, XXX21, ... , XXX43, XXX44}where XXX是函数的整数参数的集合.什么是Java 8风格的优雅方式?我已经完成了前缀是一位数如下:

/**
 * I need to get {<base>11, <base>12, ..., <base>44} but can't...
 * @return {<base>1, <base>2, <base>3, <base>4}
 */
Set<Integer> addOnlyOnePrefix(int base){
  return IntStream.range(1, 4).map(prefix -> base*10 + prefix)
      .boxed().collect(Collectors.toSet());
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 5

最简单的方法可能就是生成16个值:

Set<Integer> addOnlyTwoPrefixes(int base) {
  return IntStream.range(0, 16)
      .map(prefix ->
          base * 100 +             // Leading digits
          10 + 10 * (prefix / 4) + // Penultimate digit
          1 + (prefix % 4))        // Last digit
      .boxed()
      .collect(Collectors.toSet());
}
Run Code Online (Sandbox Code Playgroud)

10+和1+将考虑prefix / 4并且prefix % 4在0-3而不是1-4的范围内.