⚙️ List.subList()
В Java метод subList() позволяет создать представление части списка. Это удобно для работы с подмножествами коллекций без необходимости копирования элементов.
👩💻
@javaquiz
В Java метод subList() позволяет создать представление части списка. Это удобно для работы с подмножествами коллекций без необходимости копирования элементов.
👩💻
@javaquiz
👍4
❓ Вопрос на собеседовании
Что такое ForkJoinPool в Java, как он работает, и как его использовать для параллельной обработки задач?
Ответ ⬇️
ForkJoinPool — это специализированный пул потоков, который рекурсивно делит задачи на подзадачи (fork) и объединяет их результаты (join). Он оптимизирован для задач, которые можно разделить на независимые части, например, вычисление суммы элементов массива. Основными классами являются RecursiveTask для задач с результатом и RecursiveAction для задач без результата.
Пример использования ⚙️
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.ForkJoinPool;
class SumTask extends RecursiveTask {
private final int[] array;
private final int start, end;
public SumTask(int[] array, int start, int end) {
this.array = array;
this.start = start;
this.end = end;
}
@Override
protected Integer compute() {
if (end - start
@javaquiz
Что такое ForkJoinPool в Java, как он работает, и как его использовать для параллельной обработки задач?
Ответ ⬇️
ForkJoinPool — это специализированный пул потоков, который рекурсивно делит задачи на подзадачи (fork) и объединяет их результаты (join). Он оптимизирован для задач, которые можно разделить на независимые части, например, вычисление суммы элементов массива. Основными классами являются RecursiveTask для задач с результатом и RecursiveAction для задач без результата.
Пример использования ⚙️
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.ForkJoinPool;
class SumTask extends RecursiveTask {
private final int[] array;
private final int start, end;
public SumTask(int[] array, int start, int end) {
this.array = array;
this.start = start;
this.end = end;
}
@Override
protected Integer compute() {
if (end - start
@javaquiz
👎7
Jackson-dataformat-csv
Jackson-dataformat-csv — это библиотека Java, являющаяся модулем расширения популярной библиотеки Jackson для обработки JSON. Она позволяет читать и записывать данные в формате CSV (Comma Separated Values), который широко используется для хранения и обмена табличными данными.
👩💻
@javaquiz
Jackson-dataformat-csv — это библиотека Java, являющаяся модулем расширения популярной библиотеки Jackson для обработки JSON. Она позволяет читать и записывать данные в формате CSV (Comma Separated Values), который широко используется для хранения и обмена табличными данными.
👩💻
@javaquiz
👍6
⚙️ Stream.collect() с Collector.of()
В Java метод Collector.of() позволяет создавать пользовательские коллекции с кастомной логикой для сборки данных. Это даёт полный контроль над процессом объединения элементов.
👩💻
@javaquiz
В Java метод Collector.of() позволяет создавать пользовательские коллекции с кастомной логикой для сборки данных. Это даёт полный контроль над процессом объединения элементов.
👩💻
@javaquiz
👍3
👩💻 Задача по Java: Удаление дубликатов из списка с сохранением порядка
Напишите метод, который принимает список строк и возвращает новый список, содержащий только уникальные строки, сохраняя их порядок появления.
Пример:
import java.util.List;
public class Main {
public static void main(String[] args) {
List input = List.of("apple", "banana", "apple", "orange", "banana");
List result = removeDuplicates(input);
System.out.println(result);
// Ожидаемый результат: [apple, banana, orange]
}
}
Решение задачи на картинке ☝️
👩💻
@javaquiz
Напишите метод, который принимает список строк и возвращает новый список, содержащий только уникальные строки, сохраняя их порядок появления.
Пример:
import java.util.List;
public class Main {
public static void main(String[] args) {
List input = List.of("apple", "banana", "apple", "orange", "banana");
List result = removeDuplicates(input);
System.out.println(result);
// Ожидаемый результат: [apple, banana, orange]
}
}
Решение задачи на картинке ☝️
👩💻
@javaquiz
👍7👎2
⚙️ Optional.flatMap()
В Java метод Optional.flatMap() позволяет преобразовать значение внутри Optional, возвращая другой Optional. Это особенно полезно для работы с вложенными Optional.
👩💻
@javaquiz
В Java метод Optional.flatMap() позволяет преобразовать значение внутри Optional, возвращая другой Optional. Это особенно полезно для работы с вложенными Optional.
👩💻
@javaquiz
👍4
Ответ:
Anonymous Poll
55%
10, Value is 42
27%
Ошибка компиляции
18%
10, Value is 10
18%
Ничего не выведет
⚙️ Collectors.toMap()
В Java метод Collectors.toMap() собирает элементы потока в карту (Map), где вы можете указать функции для ключей и значений. Это удобно для преобразования коллекций в структуру ключ-значение.
👩💻
@javaquiz
В Java метод Collectors.toMap() собирает элементы потока в карту (Map), где вы можете указать функции для ключей и значений. Это удобно для преобразования коллекций в структуру ключ-значение.
👩💻
@javaquiz
👍3
⚙️ String.replaceAll()
В Java метод String.replaceAll() заменяет все вхождения текста, соответствующего регулярному выражению, на заданную строку. Это мощный инструмент для обработки строк.
👩💻
@javaquiz
В Java метод String.replaceAll() заменяет все вхождения текста, соответствующего регулярному выражению, на заданную строку. Это мощный инструмент для обработки строк.
👩💻
@javaquiz
👍3
👩💻 Задача по Java: Подсчёт частоты слов в строке
Напишите метод, который принимает строку и возвращает Map, где ключи — это слова из строки, а значения — количество их вхождений. Игнорируйте регистр и удаляйте знаки препинания.
Пример:
public class Main {
public static void main(String[] args) {
String text = "Hello, world! Hello Java.";
Map result = countWordFrequency(text);
System.out.println(result);
// Ожидаемый результат:
// {hello=2, world=1, java=1}
}
}
Решение задачи на картинке ☝️
👩💻
@javaquiz
Напишите метод, который принимает строку и возвращает Map, где ключи — это слова из строки, а значения — количество их вхождений. Игнорируйте регистр и удаляйте знаки препинания.
Пример:
public class Main {
public static void main(String[] args) {
String text = "Hello, world! Hello Java.";
Map result = countWordFrequency(text);
System.out.println(result);
// Ожидаемый результат:
// {hello=2, world=1, java=1}
}
}
Решение задачи на картинке ☝️
👩💻
@javaquiz
👍2
🔥1
⚙️ String.format()
В Java метод String.format() позволяет форматировать строки с использованием плейсхолдеров и спецификаторов. Это удобно для создания строк с динамическими данными.
👩💻
@javaquiz
В Java метод String.format() позволяет форматировать строки с использованием плейсхолдеров и спецификаторов. Это удобно для создания строк с динамическими данными.
👩💻
@javaquiz
⚙️ Map.merge()
В Java метод Map.merge() объединяет значение для указанного ключа с новым значением с помощью заданной функции. Это удобно для обновления данных в словаре на основе существующих значений.
👩💻
@javaquiz
В Java метод Map.merge() объединяет значение для указанного ключа с новым значением с помощью заданной функции. Это удобно для обновления данных в словаре на основе существующих значений.
👩💻
@javaquiz
#вопросы_с_собеседований
Что будет, если в Map положить два значения с одинаковым ключом?
Если в Map положить два значения с одинаковым ключом, то произойдет следующее:
— При добавлении второго значения с уже существующим ключом, первое значение, связанное с этим ключом, будет перезаписано.
— Map может содержать только уникальные ключи. При попытке добавить дублирующийся ключ, старое связанное значение будет заменено новым.
— Конкретная реализация Map (например, HashMap) может бросить исключение, если попытаться добавить дублирующийся ключ.
Таким образом, поведение в такой ситуации зависит от конкретной реализации интерфейса Map, но в целом дублирующиеся ключи в Map запрещены.
👩💻
@javaquiz
Что будет, если в Map положить два значения с одинаковым ключом?
Если в Map положить два значения с одинаковым ключом, то произойдет следующее:
— При добавлении второго значения с уже существующим ключом, первое значение, связанное с этим ключом, будет перезаписано.
— Map может содержать только уникальные ключи. При попытке добавить дублирующийся ключ, старое связанное значение будет заменено новым.
— Конкретная реализация Map (например, HashMap) может бросить исключение, если попытаться добавить дублирующийся ключ.
Таким образом, поведение в такой ситуации зависит от конкретной реализации интерфейса Map, но в целом дублирующиеся ключи в Map запрещены.
👩💻
@javaquiz
👍3
Как избежать God Object в Java: несколько способов
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/otus/articles/863050/
Смотреть статью ()
👩💻
@javaquiz
https://habr.com/ru/companies/otus/articles/863050/
Хабр
Как избежать God Object в Java: несколько способов
Привет, Хабр! Однажды передо мной вырос, как снежный ком, чудовищный God Object — класс, который хотел быть всем сразу. У него была и бизнес‑логика, и данные, и контроллеры,...
👍2
⚙️ Collections.unmodifiableList()
В Java метод Collections.unmodifiableList() создаёт неизменяемый (immutable) список на основе существующего. Это удобно, когда нужно защитить коллекцию от изменений после её создания.
👩💻
@javaquiz
В Java метод Collections.unmodifiableList() создаёт неизменяемый (immutable) список на основе существующего. Это удобно, когда нужно защитить коллекцию от изменений после её создания.
👩💻
@javaquiz
⚙️ Math.floorMod
Метод Math.floorMod в Java выполняет деление по модулю с учётом знаков, возвращая всегда положительный остаток. Это полезно при работе с круговыми индексами или в математике с отрицательными числами.
👩💻
@javaquiz
Метод Math.floorMod в Java выполняет деление по модулю с учётом знаков, возвращая всегда положительный остаток. Это полезно при работе с круговыми индексами или в математике с отрицательными числами.
👩💻
@javaquiz
⚙️ StringBuilder.append()
Метод append() класса StringBuilder позволяет эффективно добавлять строки к уже существующему объекту. В отличие от конкатенации строк с использованием оператора +, StringBuilder позволяет избежать создания новых объектов строк в процессе добавления.
👩💻
@javaquiz
Метод append() класса StringBuilder позволяет эффективно добавлять строки к уже существующему объекту. В отличие от конкатенации строк с использованием оператора +, StringBuilder позволяет избежать создания новых объектов строк в процессе добавления.
👩💻
@javaquiz