1 Sept 2026, 09:22 UTC528 views7 reactionsread 7 September 2026 ⌨️ Фишка: Создание итератора для пользовательского класса.
Код:
import java.util.Iterator;
public class CustomClass implements Iterable<String> {
private String[] elements;
public CustomClass(String[] elements) {
this.elements = elements;
}
@Override
public Iterator<String> iterator() {
return new CustomIterator();
}
private class CustomIterator implements Iterator<Str…
❤🔥5👍2
31 Aug 2026, 09:52 UTC600 views6 reactionsread 7 September 2026 ⌨️ Параллельное выполнение задач с использованием ExecutorService
ExecutorService - это интерфейс, который предоставляет удобный способ для управления параллельным выполнением задач. Он предоставляет пул потоков для выполнения задач и управляет их жизненным циклом:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static void main(String[] args) {
…
👍4❤2
30 Aug 2026, 09:05 UTC626 views6 reactionsread 7 September 2026 ⌨️ Метод для глубокого копирования объектов. Это часто используется, когда нужно создать копию объекта, сохраняя его данные, но не связи с другими объектами.
📌 Вот пример метода для глубокого копирования:
import java.io.*;
public class DeepCopyExample {
public static void main(String[] args) {
Person person = new Person("John", 30);
Person deepCopy = deepCopy(person);
System.out.printl…
👍4❤2
29 Aug 2026, 14:05 UTC655 views8 reactionsread 7 September 2026 ⌨️ Использования анонимных классов:
Анонимный класс - это класс без имени, который объявляется и создается внутри другого класса или метода. Он удобен, когда требуется определить класс, который будет использоваться только один раз, и нет необходимости создавать отдельный класс.
public class Main {
interface Greeting {
void sayHello();
}
public static void main(String[] args) {
Greeting …
👍5❤3
29 Aug 2026, 09:36 UTC666 views7 reactionsread 7 September 2026 ⌨️ Использование класса java.time.Duration для рассчета разницы во времени между двумя моментами.
Код для расчета разницы во времени:
import java.time.Duration;
import java.time.LocalDateTime;
public class TimeDifferenceCalculator {
public static void main(String[] args) {
LocalDateTime startTime = LocalDateTime.of(2022, 1, 1, 10, 0, 0);
LocalDateTime endTime = LocalDateTime.of(2022, 1, 1, 1…
👍6❤1
25 Aug 2026, 19:19 UTC≈1,040 views11 reactionsread 7 September 2026 ⌨️ Использование аннотации @FunctionalInterface для определения функциональных интерфейсов.
Функциональные интерфейсы - это интерфейсы, которые содержат только один абстрактный метод и могут использоваться как типы данных для лямбда-выражений или методов высшего порядка.
При использовании аннотации @FunctionalInterface вы указываете компилятору, что этот интерфейс должен содержать только один абстрактный метод, что…
👍10❤1
24 Aug 2026, 15:40 UTC865 views6 reactionsread 7 September 2026 ⌨️ Использование методов default и static в интерфейсах. Эти методы позволяют добавлять конкретные реализации в интерфейсы, что делает их более гибкими и позволяет избежать некоторых проблем множественного наследования.
Пример с default методом в интерфейсе:
interface Greeter {
void greet();
// Default метод в интерфейсе
default void greetWithExclamation() {
System.out.println("Привет, мир!");
…
👍5❤1
18 Aug 2026, 17:27 UTC≈1,100 views5 reactionsread 7 September 2026 ⌨️ Использование java.util.stream.Collectors для обработки коллекций
Код:
import java.util.List;
import java.util.stream.Collectors;
public class StreamCollectorsExample {
public static void main(String[] args) {
List<Integer> numbers = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Примеры использования Collectors
// Преобразование элементов коллекции в строку
String numbersAsStri…
👍4❤1
17 Aug 2026, 13:52 UTC≈1,040 views8 reactionsread 7 September 2026 ⌨️ "Фабричный метод" (Factory Method).
Этот паттерн позволяет создавать объекты без указания конкретных классов объектов. Вместо прямого создания объекта класса, создание объекта делегируется методу (фабричному методу), который может быть переопределен подклассом, чтобы изменить тип создаваемого объекта.
Пример реализации:
1️⃣Создадим интерфейс продукта, который будет производиться фабричным методом.
interface Pr…
👍3👎3❤1🤔1
10 Aug 2026, 11:07 UTC≈1,240 views6 reactionsread 7 September 2026 🔔Использование JShell для быстрой проверки и экспериментов с кодом.
Пример кода:
$ jshell
| Welcome to JShell -- Version 11.0.12
| For an introduction type: /help intro
jshell> int result = 10 + 20;
result ==> 30
jshell> String message = "Hello, World!";
message ==> "Hello, World!"
✔️JShell позволяет быстро проводить эксперименты, проверять короткие фрагменты кода, тестировать API и проводить быстрые исследов…
👍5❤1
4 Aug 2026, 09:12 UTC≈1,550 views7 reactionsread 7 September 2026 ☕️Использование метода computeIfAbsent() из интерфейса Map.
Этот метод предлагает удобный способ вычисления и вставки значений в мапу, если они отсутствуют.
Пример кода с объяснением:
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> wordLengths = new HashMap<>();
String word = "apple";
// Использова…
👍6❤1
30 Jul 2026, 12:09 UTC≈1,590 views5 reactionsread 7 September 2026 ☕️Использование CountDownLatch
CountDownLatch - это класс в Java, который предоставляет возможность создания ожидания, пока не завершится определенное количество операций или событий. Он часто используется для ожидания завершения параллельных потоков.
Пример кода:
import java.util.concurrent.CountDownLatch;
public class Main {
public static void main(String[] args) throws InterruptedException {
int co…
❤3👍2
Showing the 12 most recent of 20 posts we hold for @java_tips_and_tricks. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.