与lambda相同的以下函数是什么?
private String convertWeekDayToBitString(int[] ia) {
int[] sa = {0, 0, 0, 0, 0, 0, 0};
for (int i : ia) {
if (i > 0 && i < 8) {
sa[i-1] = 1;
}
}
return Arrays.toString(sa).replace("[", "").replace("]", "").trim();
}
此功能的目的是根据输入数组将“星期几”标记为1。例如,如果输入数组为[5,6],则输出应为0,0,0,0,1,1,0
答案 0 :(得分:0)
您可以使用IntStream
流式传输7个值,并检查每个值是否在输入数组中。如果保证输入数组已排序,则可以使用单个语句:
return IntStream
.range(0, 7)
.mapToObj(x -> String.valueOf(Arrays.binarySearch(ia, x) >= 0 ? 1 : 0))
.collect(Collectors.joining(", "));