Stream API в Java. Часть 7.
После того как мы поработали с нашим стримом (или потоком) каких-либо элементов (стрим списка любых кастомных моделей Java, например, класс Car или просто список строк или объектов Integer) нужно завершить эту работу с помощью терминального оператора.
Перечислим часто встречающиеся Терминальные операторы стримов в Java.
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
После того как мы поработали с нашим стримом (или потоком) каких-либо элементов (стрим списка любых кастомных моделей Java, например, класс Car или просто список строк или объектов Integer) нужно завершить эту работу с помощью терминального оператора.
Перечислим часто встречающиеся Терминальные операторы стримов в Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4✍3🔥1
Какой синтаксис простейшего лямбда выражения в Java?
Anonymous Quiz
5%
{expression} –> parameters
58%
(parameters) –> expression
15%
(expression) –> parameters
13%
(parameters) => expression
9%
Посмотреть ответ
👍3✍2❤1👨💻1
Stream API в Java. Часть 8.
Подробнее изучите метод .collect(). Он позволяет гибко управлять преобразованием значений в разные типы: коллекции, массивы, map. Делается это благодаря статистическим методам Collectors.
Вот несколько интересных примеров:
toList — стрим приводится к списку;
toCollection — получаем коллекцию;
toSet — получаем множество;
toConcurrentMap, toMap — если нужен map;
summingInt, summingDouble, summingLong — если требуется получить сумму чисел;
averagingInt, averagingDouble, averagingLong — если хотите вернуть среднее значение;
groupingBy — если необходимо разбить коллекцию на части.
Это не все статистические методы Collectors. Другие возможности с подробным описанием смотрите в документации. Помимо тех Collectors, которые определены в документации, можно использовать собственноручно созданные, кастомные варианты)
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Подробнее изучите метод .collect(). Он позволяет гибко управлять преобразованием значений в разные типы: коллекции, массивы, map. Делается это благодаря статистическим методам Collectors.
Вот несколько интересных примеров:
toList — стрим приводится к списку;
toCollection — получаем коллекцию;
toSet — получаем множество;
toConcurrentMap, toMap — если нужен map;
summingInt, summingDouble, summingLong — если требуется получить сумму чисел;
averagingInt, averagingDouble, averagingLong — если хотите вернуть среднее значение;
groupingBy — если необходимо разбить коллекцию на части.
Это не все статистические методы Collectors. Другие возможности с подробным описанием смотрите в документации. Помимо тех Collectors, которые определены в документации, можно использовать собственноручно созданные, кастомные варианты)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6✍2👨💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5👍2❤1
Stream API в Java. Часть 9.
Давайте поиграемся с методами .min() и .max().
Пусть у нас будет коллекция строк вида Arrays.asList("f10", "f15", "f2", "f4").
Нужно найти самый маленький элемент:
collection.stream().min(String::compareTo).get()
// f2
Метод compareTo() – это метод, который есть у каждого объекта типа String.
С максимальным значением тоже все очень просто:
collection.stream().max(String::compareTo).get()
// f15
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Давайте поиграемся с методами .min() и .max().
Пусть у нас будет коллекция строк вида Arrays.asList("f10", "f15", "f2", "f4").
Нужно найти самый маленький элемент:
collection.stream().min(String::compareTo).get()
// f2
Метод compareTo() – это метод, который есть у каждого объекта типа String.
С максимальным значением тоже все очень просто:
collection.stream().max(String::compareTo).get()
// f15
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👨💻3✍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍6🔥1
Stream API в Java. Часть 10.
Посмотрим несколько примеров работы сортирующих методов Stream API.
Используем ту же коллекцию строк, что и выше —
Stream.of("f10", "f15", "f2", "f4", "f4").
Единственное отличие — теперь в нем появился дубликат.
Первая задача — отсортировать строки в алфавитном порядке и добавить их в массив:
collection.stream().sorted().collect(Collectors.toList());
// [f2, f4, f4, f10, f15]
А вот чуть более интересное задание — нужно выполнить сортировку в обратном алфавитному порядке и удалить дубликаты. В массиве должны оказаться только уникальные значения:
collection.stream().sorted(String::compareTo).distinct().collect(Collectors.toList());
Здесь мы используем не только .sorted() для сортировки, но и метод .distinct() для удаления неуникальных значений при обработке коллекции.
Задачи по сортировке стримов в Java часто встречаются на собеседованиях не только на позицию Junior разработчиков, но даже и на позицию Middle!
👩💻 Наш практический курс Java–разработчика
✅ JavaStart. Подписаться
Посмотрим несколько примеров работы сортирующих методов Stream API.
Используем ту же коллекцию строк, что и выше —
Stream.of("f10", "f15", "f2", "f4", "f4").
Единственное отличие — теперь в нем появился дубликат.
Первая задача — отсортировать строки в алфавитном порядке и добавить их в массив:
collection.stream().sorted().collect(Collectors.toList());
// [f2, f4, f4, f10, f15]
А вот чуть более интересное задание — нужно выполнить сортировку в обратном алфавитному порядке и удалить дубликаты. В массиве должны оказаться только уникальные значения:
collection.stream().sorted(String::compareTo).distinct().collect(Collectors.toList());
Здесь мы используем не только .sorted() для сортировки, но и метод .distinct() для удаления неуникальных значений при обработке коллекции.
Задачи по сортировке стримов в Java часто встречаются на собеседованиях не только на позицию Junior разработчиков, но даже и на позицию Middle!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5✍4👨💻4
Что напечатает код?
Anonymous Quiz
11%
true true true true
30%
true false true true
16%
true false false true
15%
true false false false
3%
true true false false
6%
true true true false
19%
Посмотреть ответ
✍4👍4❤2🔥2
Ответ к задаче про сравнение строк:
Первое, что нужно отметить, что тут сравниваются не значения строк, а ссылки на строки. Поэтому IDE подчёркивает все равенства и предлагает правильный вариант сравнения значений строк через “equals”.
s1 и s2 это один и тот же объект, так как в Java есть пул строк, и для s2 не создается новый объект, так как в пуле уже есть строка с таким же значением.
А вот s3 создаётся через new и в пул строк не попадает. Поэтому s1 и s3 - это разные объекты, поэтому сравнение вернёт false.
s4 будет гарантированно из пула, так как вызван метод intern.
s5 работает аналогично s2.
Выводы:
1) Сравнивая объекты через == , можно не всегда получить то, что ожидаешь, поэтому лучше этого не делать и использовать метод equals. Сравнивая через ==, вы должны знать что делаете.
2) Если IDE подчёркивает код, стоит обратить на это внимание, скорее всего у вас проблемы в коде.
3) Метод intern() перед созданием объекта String смотрит, есть ли этот объект в пуле стрингов и возвращает его. Иначе создается новый объект в пуле.
✅ JavaStart. Подписаться
Первое, что нужно отметить, что тут сравниваются не значения строк, а ссылки на строки. Поэтому IDE подчёркивает все равенства и предлагает правильный вариант сравнения значений строк через “equals”.
s1 и s2 это один и тот же объект, так как в Java есть пул строк, и для s2 не создается новый объект, так как в пуле уже есть строка с таким же значением.
А вот s3 создаётся через new и в пул строк не попадает. Поэтому s1 и s3 - это разные объекты, поэтому сравнение вернёт false.
s4 будет гарантированно из пула, так как вызван метод intern.
s5 работает аналогично s2.
Выводы:
1) Сравнивая объекты через == , можно не всегда получить то, что ожидаешь, поэтому лучше этого не делать и использовать метод equals. Сравнивая через ==, вы должны знать что делаете.
2) Если IDE подчёркивает код, стоит обратить на это внимание, скорее всего у вас проблемы в коде.
3) Метод intern() перед созданием объекта String смотрит, есть ли этот объект в пуле стрингов и возвращает его. Иначе создается новый объект в пуле.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍6👍6🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4💯3👍1
Stream API в Java. Часть 11.
Stream в Java дает разработчикам удобные инструменты для обработки данных в коллекциях.
Методы позволяют проще обрабатывать объекты и писать меньше кода. Это так называемый “синтаксический сахар”.
Чтобы научиться работать эффективно с Java Stream API рекомендую просто практиковаться и в скором времени это станет для вас легко!
Раздел Stream API в Java несомненно встречается на собеседованиях на позиции Java Junior и Middle разработчиков. Поэтому разбираться в этом разделе нужно.
✅ JavaStart. Подписаться
Stream в Java дает разработчикам удобные инструменты для обработки данных в коллекциях.
Методы позволяют проще обрабатывать объекты и писать меньше кода. Это так называемый “синтаксический сахар”.
Чтобы научиться работать эффективно с Java Stream API рекомендую просто практиковаться и в скором времени это станет для вас легко!
Раздел Stream API в Java несомненно встречается на собеседованиях на позиции Java Junior и Middle разработчиков. Поэтому разбираться в этом разделе нужно.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍3👍3👨💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
✍3😁3👍1
Каким образом данные связываются в реляционной базе данных?
Anonymous Quiz
4%
По совпадению идентификаторов
2%
По алфавиту
71%
По ключу–внешнему ключу
21%
По ID
2%
Посмотреть ответ
👍4✍2👨💻1
Какая команда используется для добавления изменений в индекс Git?
Anonymous Quiz
28%
git commit
55%
git add
9%
git push
2%
git pull
5%
Посмотреть ответ
👍4✍2😁1👨💻1