Java for Beginner
710 subscribers
628 photos
172 videos
12 files
990 links
Канал от новичков для новичков!
Изучайте Java вместе с нами!
Здесь мы обмениваемся опытом и постоянно изучаем что-то новое!

Наш YouTube канал - https://www.youtube.com/@Java_Beginner-Dev

Наш канал на RUTube - https://rutube.ru/channel/37896292/
Download Telegram
September 13, 2024
September 13, 2024
September 13, 2024
Основные методы класса Pair

Класс Pair, независимо от конкретной реализации (например, Apache Commons, JavaFX, или собственная реализация), предлагает несколько ключевых методов, которые делают работу с парами значений удобной и эффективной.

Конструктор Pair(K key, V value)

Конструктор используется для создания новой пары. Он принимает два параметра — key и value, которые инициализируют соответствующие поля объекта Pair.
Pair<String, Integer> pair = new Pair<>("John", 30);
В этом примере создается пара, где ключом (или первым элементом) является строка "John", а значением (или вторым элементом) — целое число 30.


Методы getKey() и getValue()

Эти методы используются для получения значений, хранящихся в паре. Метод getKey() возвращает первый элемент пары (ключ), а getValue() — второй элемент (значение).
String name = pair.getKey();  // "John"
Integer age = pair.getValue(); // 30
Эти методы позволяют извлекать значения из объекта Pair, что удобно при работе с парными данными.


Методы equals() и hashCode()

Методы equals() и hashCode() переопределяются в классе Pair для обеспечения корректного сравнения и использования объекта в коллекциях, таких как HashMap или HashSet.
Pair<String, Integer> pair1 = new Pair<>("John", 30);
Pair<String, Integer> pair2 = new Pair<>("John", 30);

boolean areEqual = pair1.equals(pair2); // true
Метод equals() сравнивает два объекта Pair на предмет их равенства, основываясь на значениях ключа и значения. hashCode() возвращает хэш-код объекта, что важно для корректной работы с хешированными коллекциями.


Метод toString()

Метод toString() переопределяется для получения строкового представления объекта Pair. Обычно оно имеет вид (key, value).
System.out.println(pair.toString()); // (John, 30)
Этот метод полезен для вывода информации о паре в читаемом формате.


Метод compareTo(Pair<K, V> other)

Если класс Pair реализует интерфейс Comparable, то в нём будет присутствовать метод compareTo(). Он позволяет сравнивать два объекта Pair по их ключам и значениям. Это полезно для сортировки коллекций пар.
Pair<String, Integer> pair1 = new Pair<>("John", 30);
Pair<String, Integer> pair2 = new Pair<>("Alice", 25);

int comparisonResult = pair1.compareTo(pair2); // результат зависит от реализации Comparable
Этот метод особенно полезен, когда нужно отсортировать список объектов Pair по ключам или значениям.



Примеры использования класса Pair

Пример 1: Использование Pair в методах
Pair может быть полезен, когда нужно вернуть из метода два значения.
public class MinMaxExample {
public static Pair<Integer, Integer> findMinMax(int[] array) {
if (array == null || array.length == 0) {
throw new IllegalArgumentException("Array cannot be null or empty");
}

int min = array[0];
int max = array[0];

for (int num : array) {
if (num < min) {
min = num;
}
if (num > max) {
max = num;
}
}

return new Pair<>(min, max);
}

public static void main(String[] args) {
int[] numbers = {3, 5, 1, 8, -2, 7};
Pair<Integer, Integer> result = findMinMax(numbers);
System.out.println("Min: " + result.getKey());
System.out.println("Max: " + result.getValue());
}
}
Этот пример показывает, как метод findMinMax возвращает объект Pair, содержащий минимальное и максимальное значения массива. Это более элегантный способ возврата двух связанных значений по сравнению с использованием массивов или пользовательских классов.


#Java #Training #Medium #Pair
September 13, 2024
September 13, 2024
September 14, 2024
Признавайтесь, чей проект?😂😂😂

https://t.me/Java_for_beginner_dev

#Mems
September 14, 2024
September 15, 2024
Встреча_в_Телемосте_15_09_24_20_23_09_—_запись.webm
481.1 MB
September 15, 2024
September 15, 2024
Оглавление обучающих постов часть 2.

Распространенные ошибки многопоточности
Callable
Semaphore
CountDownLatch
Аннотации в Java
Создание собственных аннотаций в Java
BitSet
NavigableSet

Неизменяемые коллекции
Cинхронизированные коллекции
Properties
Stream API
CompletableFuture
Optional
Алгоритмы
Работа с датами в Java
Класс Random в Java
Рекурсия в Java
Pair
Приведение типов в Java
Оператор Instanceof
Основные методологии разработки
Оператор try-catch в Java
Оператор multi-catch в Java
Оператор try-with-resources
Переменные-ссылки в Java
StackTrace в Java
Класс Math в Java
Побитовые операции в Java
Литералы в Java
Кодировки в Java
Экранирование символов в Java
Регулярные выражения в Java
Метасимволы
Введение в URL, URLConnection, работа с сетью, особенности и применение
Основные методы URL, URLConnection и примеры использования
Работа с файлами в Java, Класс Files, особенности и применение
Основные методы Files, примеры использования работы с файлами в Java
StringBuilder
String.format и StringFormatter
StringTokenizer
Substring
Класс StringReader
Класс StringWriter
Основные методы класса StringWriter
Enum
Dynamic Proxy
Итераторы в Java
Метод Thread.sleep()
Класс TimeUnit
Память в JVM
Metaspace
Java Memory Model (JMM)
Сборка мусора в Java
Типы сборок мусора в Java
Внутреннее устройство Garbage Collector
Мусорные ссылки в Java
Утечка памяти в Java

Управление JVM (Java Virtual Machine) командами
Компиляция программ Java
Команды в JVM

Классы для работы с датами и временем в Java Time API
Работа с временными зонами, Duration и Period
Форматирование и парсинг дат с DateTimeFormatter
ZoneOffset, OffsetDateTime и конвертация времени между часовыми поясами
Класс Instant и TemporalAdjusters
Работа с временными зонами
Основные аннотации для работы с датами в Spring
Продвинутые аннотации и нюансы работы с датами

#Contents
September 16, 2024
Оглавление для обучающих постов.

Если хотите найти информацию по Java, ранее опубликованную на канале - для Вас подготовлено оглавление уже из 2-х частей!
Пользуйтесь на здоровье!🫡

Часть 1.
Часть 2.

Читайте, используйте, будут вопросы - пишите!😉
September 16, 2024
September 16, 2024
September 16, 2024
September 16, 2024
September 16, 2024
Варианты ответа:
Anonymous Quiz
11%
16
16%
18
5%
456
68%
24
0%
48
September 16, 2024
А что бывает по другому?😂🤪

https://t.me/Java_for_beginner_dev

#Mems
September 16, 2024
September 16, 2024