Бритва 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);
}
}