import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
class Scratch {
public static void main(String[] args) {
int[] ints = new int[]{13, 24, 24, 65, 3, 32, 27, 77, 88, 25, 74, 14};
batches(Arrays.stream(ints).boxed().toList(), 3)
.map(list -> list.stream().map(String::valueOf).collect(Collectors.joining(" ")))
.reduce((s1, s2) -> s1 + System.lineSeparator() + s2)
.ifPresent(System.out::println);
}
private static <T> Stream<List<T>> batches(List<T> source, int length) {
var size = source.size();
if (length <= 0 || size <= 0) {
return Stream.empty();
}
var fullChunks = (size - 1) / length;
return IntStream.range(0, fullChunks + 1).mapToObj(
n -> source.subList(n * length, n == fullChunks ? size : (n + 1) * length));
}
}
<?php if($current_page + 1 > $total_pages){?>
<button class="next" onclick="window.location.href = '/jobs/page/<?=$current_page?>';">Далее</button>
<?php }
else {
?>
<button class="next" onclick="window.location.href = '/jobs/page/<?=$current_page + 1?>';">Далее</button>
<?php }
?>
public String translate(String en) {
return Arrays.stream(en.split(" ")) // создаем стрим из массива. Массив - строка разбитая по пробелам
.map(dictionary::get) // Мапим каждый элемент из коллекции dictionary
.collect(Collectors.joining(" ")); // собираем стрим в одну строку, прибавляя пробел между элементами
}
которые вообще непонятны зачем они там, типа интерфейсы и прочее, только лишний код и куча лишних файлов
"full_name": "Колхоз "Светлый путь", деревня Пролетарская", ...
"full_name": "Слева направо: "Москвич", "Волга", "Жигули"", ...
new
? Имхо, это перебор. Не отвалятся у вас руки три лишних символа написать, и это будет куда нагляднее чем непонятные излишние функции.function exportConstruct<P extends any[], T>(classFromExport: { new (...args: P): T; }):
(...args: P) => T {
return (...args) => new classFromExport(...args);
}
function exportCallable<T extends { new (...args: any[]): any; }>(classFromExport: T) {
return new Proxy(classFromExport, {
apply(ctor, _, args) {
return new ctor(...args);
}
}) as T & ((...args: ConstructorParameters<T>) => InstanceType<T>);
}
const Lol = exportCallable(class Lol extends BaseLol {
constructor(public name: string) {
super();
this.name = name.toUpperCase();
}
});
Lol('qwe');
abstract class Newable {
static new<P extends any[], T>(this: { new (...args: P): T; }, ...args: P): T {
return (new this(...args)) as T
}
}
class BaseLol extends Newable { /* ... */ }
class Lol extends BaseLol {
constructor(public name: string) {
super();
this.name = name.toUpperCase();
}
}
Lol.new('qwe');