static long repeatedString(String s, long n) {
/* Кол-во повторов в исходной строке */
int rep = (int) s.toLowerCase()
.chars()
.filter(c -> c == 'a').count();
/* Кол-во циклов, в которых исходная строка будет полностью скопирована */
long cycles = (n / s.length()) - 1;
/* Кол-во повторов в остаточной строке, которой не хватило на полный цикл */
int remainder = (int) s.toLowerCase()
.substring(0, (int) n % s.length())
.chars()
.filter(c -> c == 'a').count();
return rep * cycles + remainder + rep;
}
String[] array = {"name", "Ivanov", "country", "Ukraine", "city", "Kiev", "age", null};
Map<String, String> map = Stream.iterate(
Arrays.asList(array), list -> list.subList(2, list.size()))
.limit(array.length / 2)
.collect(Collectors.toMap(
list -> list.get(0) == null ? "null" : list.get(0),
list -> list.get(1) == null ? "null" : list.get(1),
(x, y) -> y, LinkedHashMap::new));
map.entrySet().forEach(System.out::println);