...

четверг, 8 августа 2019 г.

Бритва EPAMа: тест по Java, о котором не скажут «опяяять»

Про ключевое слово «var» было множество споров. Разработчики решили попробовать написать небольшой пример и посмотреть, как на деле выглядит работа с «var».
Они воспроизвели пример, который поможет в будущем определить необходимость внесения изменений в код, разбив большие цепочки на несколько результирующих частей для возможности быстрой отладки и просмотра результатов.
Как вы думаете, код отработает, и если да, то какой будет результат?

import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Q12 {

    public static void main(String[] args) {
            testVar();
    }

    private static void testVar() {

        var carBrands = Stream.of("Alfa Romeo", "BMW", "DAF")
            .collect(Collectors.toMap(e -> e.substring(0,1), e ->e));

        var countCars = (long) carBrands.values().size();

        var mixedList = List.of(((int) countCars), 7, 1, 6, 2, 5, 5, (int) countCars);

        var divTwo = mixedList.parallelStream()
            .collect(Collectors.partitioningBy(i -> i % 2 != 0));

        var divTwoEv = divTwo.values()
            .stream()
            .max(Comparator.comparing(List::size));

        var sumDivTwoEv = divTwoEv.orElse(Collections.emptyList())
            .parallelStream()
            .mapToInt(Integer::intValue)
            .sum();
        System.out.println(sumDivTwoEv);
    }
}

Let's block ads! (Why?)

Комментариев нет:

Отправить комментарий