Во многих языках было бы просто установить все параметры в кортеже и оценить их как понимание списка. Тем не менее, Java не очень хорошо подходит для выполнения подобных вещей в одном выражении.
Arrays.stream(new Object[] {
new Object[] {0,10,"Bob"},
new Object[] {11,57,"Jake"},
new Object[] {58,99,"John"}
}).forEach(objs -> Arrays.fill(myArray,
(int)(((Object[]) objs)[0]),
((int)(((Object[]) objs)[1]))+1,
((Object[]) objs)[2])
);
Или, если вы хотите злоупотребить троичным оператором, вы можете использовать этот прекрасный драгоценный камень (кредиты Йоханнес Кун ):
Arrays.setAll(myArray, i -> i <= 10 ? "Bob" : i <= 57 ? "Jake" : "John");
Однако мораль этой истории такова: только то, что вы можете сделать что-то в одной строке, не означает, что вы должны . Ясность важнее.