Comments 13
Да отстаньте вы от стримов. Им уже 8 лет. Все уже написано, все уже сказано. Качественной учебной литературы море и больше не надо.
Да, только об этом спрашивают, а для подготовки литературу читать такое себе.
А здесь тезисно и удобно. И вроде даже исчерпывающе. Мне лично.
Вам может и нет. А может вы и не читали дальше заголовка.
Читать литературу это то самое для подготовки к чему угодно. Для любителей видео есть и оно. На любом языке. Наверно даже Тиктоки где про стримы танцуют есть уже.
Читать литературу при обучении – конечно же да и с этим никто не спорит.
Читать книгу о Стриме для того, чтобы за час освежить основные моменты в памяти перед техническим интервью – для меня лично вариант не самый оптимальный.
По видео и на слух усваивают тоже не все – у меня зрительная память, я конспект пишу.
Так в чем проблема со статьей? Вам это всё просто уже хорошо знакомо?
Мне вот нет – я разобрался для себя и законспектировал.
Проблема в чем? Какой Тикток?
Проблема в том что это уже есть. Гораздо лучше. В любом желаемом виде. Еще раз тоже самое не надо. Тем более что у вас есть фактические ошибки. Стрим примитивных типов у вас полностью некорректно описан. Боксинг и вот это вот все это важно.
Если вам надо читать что-то базовое о стримах перед собеседованием, то у вас точно есть большие проблемы в базовых знаниях. И задача собеседующего найти их. Это уровень джуна наверно. А джуну лучше не обзорные статьи читать, а нормальные. Которые для обучения.
Скажем, это вот что вообще за фигня?
Развернуть двумерный массив flatMap()
Какой еще двумерный массив, с какой бы стати?
Вот кстати конструктивное замечание.
Значение метода действительно глубже, чем было описано – дополнил и поправил.
Спасибо!
summingInt(), summingDouble(), summingLong() — потому что это очевидно.
В тоже время, toMap зачастую нужны третий и четвертый параметры — я бы сказал, что в половине случаев в моем проекте они заданы. А вы их опустили.
Ну или вот:
public final class Collectors extends Object
Бессмысленный кусок текста. Зачем это? Вы уже рядом пояснили, что это класс с кучкой статических методов, возвращающих разные коллекторы. При этом формальное описание самого Collector опущено.
Не имею ничего против, чтобы писать такие шпаргалки для себя, и даже допускаю, что кому-то это поможет, но в текущем виде про этот текст так и хочется сказать: «Спасибо, мы вам перезвоним».
Я конечно же с уважением отношусь к вашему мнению, что это всё шпаргалки.
Но в этих шпаргалках собраны ответы на все частые вопросы технического интервью по Стримам. И даже больше.
Поэтому со «Спасибо, мы вам перезвоним» спешить давайте не будем.
По замечанию по параметрам я подумаю на сколько это уместно в статье такого формата. Спасибо!
Я не настаиваю, и тем более никто вам не запретит такие тексты писать. Просто я уже давно чаще провожу интервью с нанимающей стороны, и у меня именно такое мнение складывается от вот таких примерно ответов — когда некие факты зазубрили, а понимания не видно. Не, на уровень джуна — сойдет, скорее всего (точнее, будет зависеть от ответов на уточняющие вопросы).
Вот более-менее хорошие шпаргалки, как по мне — это www.baeldung.com, например.
Про понимание полностью согласен!
Любую тему нужно осознавать и пробовать в работе – поэтому и считаю тонкости применения каждого метода и знание всех параметров, возможно, отдельной темой для отдельной статьи. Не для этой, где я собрал основные тезисы из прочитанного мной по данной теме и статья уже вышла большой.
Поэтому и назвал ее джава джуниор.
Зубрить это точно никого не призываю. Это всё нужно понимать.
А написать об этом – это и есть мой способ самому понять и разобраться.
К критике отношусь адекватно и все замечания с радостью дополнительно прорабатываю – мне это только лучше помогает разобраться.
И за ссылку – отдельное спасибо, добавил в закладки!
Ну, по факту — а что можно сделать на базе этого текста? Вы же теорию не рассказываете, вы предлагаете именно избранные факты, которые только и можно что выучить/вспомнить. Как по мне, это и есть основной недостаток текстов подобного типа — они дают знания, но не понимание.
Скажем, вот есть такая штука как vavr.io. Там коллекции ведут себя примерно так:
List.of(1, 2, 3).map(e->e+1)… и, и все. И на выходе снова List, над которым применили функцию. Никакого .stream(), никакого .collect(), все просто и очевидно. Просто напрашивается вопрос, а надо ли сегодня вообще изучать стримы в том виде, как они появились в Java 8? Я вот не уверен (хотя например параллельных стримов vavr вроде не предлагает), при этом я часто жалею, что мы у себя в проекте полностью на них не перешли до сих пор.
P.S. На самом деле учить вот таким базовым вещам очень сложно.
Java Stream API #неОпятьАСнова #javaJunior #java8