Вирішуємо Типові Задачі на Stream API | Огляд вправи Crazy Streams
👉 Приєднуйся до Bobocode Community: www.bobocode.com/
____________________________________________
GitHub: github.com/bobocode-projects
Telegram: t.me/bobocode
LinkedIn: bit.ly/2RWPQF5
Twitter: bit.ly/3vaQiOl
Patreon: / bobocode
Тарас в LinkedIn: bit.ly/2ElWg8J
Тарас в Twitter: bit.ly/33Pmuwg
____________________________________________
Варто один раз переписати старий код на Stream API, і жиитя вже ніколи не буде таким самим, як воно було до цього.
#opensource #java #education
Пікірлер: 45
👉 Навчання від Bobocode: bit.ly/3IRrJhj
Дуже дякую! Цікаво, корисно та зрозуміло!
О нарешті українською божественний контент. Дякую автору почерпнув для себе багато корисного
Дуже дякую, відео неймовірно корисне. Дещо нового дізналася сьогодні 😁
@Bobocode
2 ай бұрын
Дякую! 😀
Дуже цікава вправа і детальне пояснення, дякую!!!
Дякую за вашу роботу, keep in going!
Дуже круто, спокійно та розбірливо.
Дуже цікаві та корисні вправи. Думаєш, що усе знаеш і розумієш, аж поки не починаешь виконувати)) Дякую!
@Bobocode
Жыл бұрын
Так завжди буває у навчання. Особливо, якщо любиш читати і дивитися, але не любиш практикуватися.
Цікаві вправи, легко зрозуміти, лайк за пророблений курс та прості доступні завдання, та відео! :)
топ відео, дякую пане!
@Bobocode
Жыл бұрын
Прошу пане! :)
Золоті вправи, всім рекомендую.
@Bobocode
Жыл бұрын
Дякую!
10 з 10, накінець набив руку по стрімах.
Дожив до кінця, але мізки поплавились )
Goat
19:06 літаки гули за вікном ще до того як це стало мейнСТРІМОМ
@Bobocode
Жыл бұрын
А зараз як гудуть... 😅
переше відео яке я знайшов, серед авторів ютуб IT, де автор додав - які ж комбінації "гарячих" кнопочок він використовує. дякую.
19:11 - у наших реаліях такий звук дуже лякає...
@Bobocode
Жыл бұрын
Я вже знаю, що це наші, тому лякає менше :)
Амінь
чи будуть відео з навчання? літні збори і т.п. як мотиваційні роліки)))
@leetovetz
2 жыл бұрын
@@serhiihryhus1346 може в другий сезон хочу потрапити)
те що треба , коли закінчив курси а роботи ще не знайшов
@Bobocode
Жыл бұрын
Те що також треба, якщо вже пропрацював кілька років на роботі, а як працюють стріми досі не розібрав ;)
Скажіть будь ласка, а чим краще книги про Java ніж офіційна документація? Бо я жодної книги про Java не читав, користуюся javadoc, офіційною документацією та форумами та google пошуком, але хотів би придбати якусь хорошу книгу в електронному форматі. Тільки не впевнений чи вона мені допоможе. Є щось в книгах більше ніж в офіційній документації?
@tarasdovganyuk7527
2 жыл бұрын
На мою думку кращого джерела ніж офіційна документація знайти важко. Просто книги вже показують певні бест практісес, різні варіанти використання і тд
@jeoparrdy
2 жыл бұрын
А мені книга зайшла. Modern Java in Action. Рекомендую читати англійською, бо переклад на російську не зовсім точний.
@MarvinMatters
Жыл бұрын
Бо в книзi розставленi прiорiтети i вам зразу говорять коли що краще використовувати.
Реально не так складно в коді розбиратись, як відсутність бажання витрачати на це куча часу
APL
В каких случаях и почему не стоит использовать Stream API?
@Bobocode
2 жыл бұрын
Наприклад, коли тобі потрібен контроль всередині ітерації (якщо поточний елемент більше ніж 100, тоді кинути ексепшин, якщо дорівнює 10, тоді повернути true - це примітивний приклад, але думаю ідея зрозуміла). Або коли ти хочеш змінювати колекцію в процесі ітерації. Для цього стріми не підійдуть.
@oleksiiskachkov2870
2 жыл бұрын
@@Bobocode Существуют ли кейсы, в которых использование Stream API возможно, но нецелесообразно?
@Bobocode
2 жыл бұрын
Використання стрімів потребує створення додаткових об’єктів, тому якщо дуже велике навантаження вони будуть повільніші.
есть вопрос, в последнем методе getCharacterFrequencyIgnoreCaseInFirstAndLastNames(int nameLengthBound) если делать через фильтр accounts.stream().filter(x, y->x.getFirstName().lenght()>= nameLengthBound &&... в начале, то тесты не проходит, а если уже после создания второго стрима flatMap(s->Stream.of(...)).filter(s->s.lenght()>= nameLengthBound то все ок!
@Bobocode
2 жыл бұрын
А яке у вас питання?
@olekfolkner8523
2 жыл бұрын
@@Bobocode почему сначала нельзя отфильтровать, а потом уже создавать повторный стрим? поскольку дополинительные ресурсы используются и доп итерации. Ну и банально не проходил тест если в начале фильтрация, а потом дополнительный стрим через flatMap?
@Bobocode
2 жыл бұрын
Тому що фільтрувати потрібно на рівні одного String об'єкту (імені або прізвища), в якого довжина повинна бути більше заданої. Якщо ви фільтруєте на рівні всього об'єкта Account, то у вас у вибірку потрапляють або обидва firstName і lastName, або жодного, а вам їм треба розгладати окремо. Тест перевіряє правильність результату, тому якщо він не проходив, значить ви щось не те відфільтрували і результат був неправильний.
@olekfolkner8523
2 жыл бұрын
@@Bobocode Спасибо за ответ, понял. Упражнения очень классные, да и в целом качественный контент!