Первая часть — разбор самой холиварной задачи из четырёх: void forEach(List<Integer> values, PrintStream ps) { values.forEach(ps::println); } void forEach(List<Integer> values, PrintStream ps) { values.stream().forEach(ps::println); } void forEach(List<Integer> values, PrintStream ps) { values.parallelStream().forEach(ps::println); } Под катом условие задач, история их появления, а также разбор первой задачи и статистика её правильных решений среди участников конференции. Читать дальше →
Публикую предпоследнюю часть разбора с третьей задачей. До этого выходил разбор первой задачи и второй задачи. Код к третьей задаче: public static double compute( double x1, double y1, double z1, double x2, double y2, double z2) { double x = y1 * z2 - z1 * y2; double y = z1 * x2 - x1 * z2; double z = x1 * y2 - y1 * x2; return x * x + y * y + z * z; } public static double compute( double x1, double…
Разбор последней четвёртой задачи: public double octaPow(double a) { return Math.pow(a, 8); } public double octaPow(double a) { return a * a * a * a * a * a * a * a; } public double octaPow(double a) { return Math.pow(Math.pow(Math.pow(a, 2), 2), 2); } public double octaPow(double a) { a *= a; a *= a; return a * a; } Условие (упрощённо): Определить, какие методы быстрые, а какие — медленные (JRE 1.8.0_161). Под…
Только поутихли страсти с первой части разбора, вышедшей на прошлой неделе, как публикую продолжение: сегодня речь пойдёт о второй задаче. Код второй задачи: String format(String user, String grade, String company, String message) { return String.format( "Он, %s, придумал такие %s задачи. Приду на стенд %s и скажу ему %s", user, grade,…