Search
Write a publication
Pull to refresh

Comments 13

Да отстаньте вы от стримов. Им уже 8 лет. Все уже написано, все уже сказано. Качественной учебной литературы море и больше не надо.

Да, только об этом спрашивают, а для подготовки литературу читать такое себе.
А здесь тезисно и удобно. И вроде даже исчерпывающе. Мне лично.
Вам может и нет. А может вы и не читали дальше заголовка.

Читать литературу это то самое для подготовки к чему угодно. Для любителей видео есть и оно. На любом языке. Наверно даже Тиктоки где про стримы танцуют есть уже.

Читать литературу при обучении – конечно же да и с этим никто не спорит.
Читать книгу о Стриме для того, чтобы за час освежить основные моменты в памяти перед техническим интервью – для меня лично вариант не самый оптимальный.
По видео и на слух усваивают тоже не все – у меня зрительная память, я конспект пишу.

Так в чем проблема со статьей? Вам это всё просто уже хорошо знакомо?
Мне вот нет – я разобрался для себя и законспектировал.
Проблема в чем? Какой Тикток?

Проблема в том что это уже есть. Гораздо лучше. В любом желаемом виде. Еще раз тоже самое не надо. Тем более что у вас есть фактические ошибки. Стрим примитивных типов у вас полностью некорректно описан. Боксинг и вот это вот все это важно.

Если вам надо читать что-то базовое о стримах перед собеседованием, то у вас точно есть большие проблемы в базовых знаниях. И задача собеседующего найти их. Это уровень джуна наверно. А джуну лучше не обзорные статьи читать, а нормальные. Которые для обучения.

На этом и порешим: каждый сам решит как ему лучше и удобнее.
И конспектировал я это потому, что когда-то в таком виде ёмко и в одном месте найти не смог. Уверен кому-то будет полезно.

Да фиг бы с ним, что им уже 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. На самом деле учить вот таким базовым вещам очень сложно.
Sign up to leave a comment.

Articles