Easy Java
описание
Лучшие обучающие материалы и другие полезности для Java-разработчиков. Сотрудничество: @heywan_n1 Цены: @heywan_media Реклама на бирже: https://telega.in/c/+r8kkGSypBY84MmIy
5 061
подписчиков
Охват к подписчикам
29,6%
ERR
Реакции к просмотрам
0,18%
88 на 31 постов
Пересылки к просмотрам
0,33%
164
Постов в день
0,1
всего 31
Где отзываются чаще
доля реакций к просмотрам- 13 авг.👩💻 Что такое Collectors.partitioningBy() и зачем он нужен? Collectors.partitioningBy() — это коллектор из Java Stream API, который разделяет элементы потока на две группы (true/false) на основе заданного предиката, возвращая Map<Boolean, List<T>>. ⚡️ Пример: import java.util.*; import java.util.stream.*; import java.util.function.Predicate; public class PartitioningByExample { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // Разделение чисел на четные и нечетные Map<Boolean, List<Integer>> partitioned = numbers.stream() .collect(Collectors.partitioningBy(n -> n % 2 == 0)); System.out.println("Четные: " + partitioned.get(true)); // [2, 4, 6, 8, 10] System.out.println("Нечетные: " + partitioned.get(false)); // [1, 3, 5, 7, 9] // Строки по длине List<String> words = Arrays.asList("яблоко", "груша", "слива", "апельсин", "лимон"); Map<Boolean, List<String>> byLength = words.stream() .collect(Collectors.partitioningBy(word -> word.length() > 5)); System.out.println("\nКороткие слова (≤5 букв): " + byLength.get(false)); System.out.println("Длинные слова (>5 букв): " + byLength.get(true)); // С дополнительным коллектором - подсчет количества Map<Boolean, Long> countPartition = numbers.stream() .collect(Collectors.partitioningBy( n -> n > 5, Collectors.counting() )); System.out.println("\nЧисел ≤5: " + countPartition.get(false)); System.out.println("Чисел >5: " + countPartition.get(true)); } } 👀 Особенно полезен для разделения данных на прошедшие/не прошедшие валидацию, категоризации на успешные/ошибочные операции, статистического анализа. ➡️ Easy Java | #Теория2,47%
- 3 авг.ㅤ Страх. Гнев. Стыд. Вина. Тревога. Апатия. Уныние. Изоляция. Бессилие. Контакт. Тепло. Чувство. Живость. Ясность. Точность. Присутствие. Тишина. Покой. Если выбор сделан, твоё место здесь: мэверик Входи осторожно. Кислород зашкаливает. ㅤ0,95%
- 18 маяНе тимлид, а тимлидище ➡️ Easy Java | #Мем0,81%
- 14 нояб.без подписи0,72%
- 30 мая👩💻 Викторина: что выведет код? class Parent { static String show() { return "Parent"; } String print() { return show(); } } class Child extends Parent { static String show() { return "Child"; } } public class Main { public static void main(String[] args) { Parent p = new Child(); System.out.println(p.print()); } } ➡️ Easy Java | #Викторина0,60%
- 5 мар. 2025 г.Recursion vs Iteration: Что выбрать?🗳 Рекурсия и итерация — два способа решения задач. Какой выбрать? 📌 Факториал: Рекурсия vs Итерация ✔️ Рекурсия: public static int factorialRecursive(int n) { return (n == 1) ? 1 : n * factorialRecursive(n - 1); } ✔️ Итерация: public static int factorialIterative(int n) { int result = 1; for (int i = 2; i <= n; i++) { result *= i; } return result; } 👍 Разбор: ✔️ Рекурсия удобна для разделяй и властвуй, но может вызвать StackOverflowError. ✔️ Итерация эффективнее по памяти, но иногда менее читаема. ✔️ В Java лучше избегать глубоких рекурсий из-за ограниченного стека. 💡 Запомни: ✔️ Рекурсия = удобство, но риск StackOverflowError. ✔️ Итерация = производительность и безопасность. 📍 Теги: #java #recursion #iteration #performance #bestpractices0,56%
- 3 мар.без подписи0,30%
- 3 мая👩💻 Что такое Stream.peek() и зачем он нужен? peek() — это промежуточный метод стримов, который позволяет выполнить произвольное действие над каждым элементом без изменения самих элементов. Классический use case: отладка пайплайнов, логирование, заполнение внешних коллекций. ⚡️ Пример: import java.util.*; import java.util.stream.*; public class PeekExample { public static void main(String[] args) { List<String> log = new ArrayList<>(); List<String> result = Stream.of("java", "python", "rust") .peek(s -> System.out.println("До фильтра: " + s)) .filter(s -> s.length() > 3) .peek(s -> System.out.println("После фильтра: " + s)) .map(String::toUpperCase) .peek(log::add) // побочный эффект .collect(Collectors.toList()); System.out.println("Результат: " + result); System.out.println("Лог: " + log); } } Особенно полезен при откладке длинных стрим-пайплайнов, логировании промежуточных этапов, сборке метрик или статистики, побочных эффектах в тестовых сценариях. ➡️ Easy Java | #Теория0,21%
- 23 мая👩💻 Качество кода в эпоху AI: как не утонуть в багах и уязвимостях Автор разбирает, почему внедрение AI может снижать продуктивность, раздувать время ревью и плодить уязвимости. И главное — как это лечить не магическими промптами, а инженерным пайплайном: SDD, TDD, узкие AI-ревьюеры, property-based testing и связка LLM с формальными анализаторами. ⛓ Читаем статью по ссылке ➡️ Easy Java | #Статья0,16%
- 21 февр.👩💻 Викторина: что выведет код? // Предположим, что этот код находится в файле src/com/example/Main.java package com.example; import java.net.URL; import java.net.URLClassLoader; class Secret { static String message = "Top Secret"; } public class Main { public static void main(String[] args) throws Exception { // Создаем загрузчик, который видит тот же класс, но в другом пакете URLClassLoader loader = new URLClassLoader( new URL[]{new URL("file:./classes/")}, ClassLoader.getPlatformClassLoader() // Не делегирует системному загрузчику ); Class<?> secretClass = loader.loadClass("com.example.Secret"); String value = (String) secretClass.getField("message").get(null); System.out.println("Value: " + value); // Проверяем равенство классов System.out.println("Same class: " + (Secret.class == secretClass)); // Проверяем instanceof Secret s = new Secret(); System.out.println("Instance: " + secretClass.isInstance(s)); } } ➡️ Easy Java | #Викторина0,12%
- 21 апр.👩💻 Викторина: что выведет код? class Parent { static void print() { System.out.print("Parent "); } void show() { System.out.print("ParentShow "); } } class Child extends Parent { static void print() { System.out.print("Child "); } @Override void show() { System.out.print("ChildShow "); } } public class Main { public static void main(String[] args) { Parent obj = new Child(); obj.print(); obj.show(); Child child = new Child(); child.print(); } } ➡️ Easy Java | #Викторина0,11%
- 20 мар.без подписи0,06%