Java Portal | Программирование
12.4K subscribers
953 photos
70 videos
32 files
766 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
加入频道
Кортежи в Java

Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.

В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.

Важной особенностью кортежей является возможность выстраивать цепочки, например так:

Cortege<Long, Cortege<String, Cortege<Float, Cortege.End>>>

#java #lesson #collections
4
Интерфейс Comparable

Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.

Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.

В дальнейшем это разница будет использованная для сортировки значений в коллекции.

#lesson #collections
2
Алгоритмическая сложность коллекций

Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.

Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.

На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.

#lesson #collections
Очередь в Java

Описать работу очереди можно одной фразой: «Первый вошёл — последний вышел». Другими словами, элементы добавление первые в очередь будут получены первые остальных.

Для реализации очередей в Java есть интерфейс Queue<E> и метод pull(), который удаляет первый элемент в очереди и возвращает его.

#java #lesson #collections
3🤔2
Итераторы

Это объекты, по которым можно "пройтись". Итератором считается объект, который реализовал интерфейс Iterator <E>.

Такие итераторы можно получить, например, у ArrayList, поскольку он реализует Collection, а значит у него есть метод Iterator<E> iterator().

#java #lesson #collections
2
.stream()

С Java 8 мы можем обрабатывать коллекции (списки, множества): фильтровать (.filter()), сортировать (.sorted()), преобразовывать (.map()).

Также ничто нам не мешает пройтись по списку (.forEach()), сохранить в виде другого типа (.collect()) или посчитать значений (.reduce()).

📌 Документация

#java #lesson #collections
7
Тип Optional

Если вы работает с коллекциями то, наверное, уже столкнулись с проблемой, когда метод stream().any() может ничего не вернуть. Мы получаем ошибку, с которой неудобно работать.

Вместо этого мы можем получить null, задать значение по умолчанию или выбросить другую ошибку.

#java #lesson #collections
Класс LinkedList

Это структура данных в виде связанного списка. Таким образом мы можем быстро добавлять элементы, но нам будет проблематично брать данные по индексу.

У него есть все методы, которые определены в интерфейсах List, Queue, Deque.

addFirst() / offerFirst() — добавляет элемент в начало списка. addLast() / offerLast() — в конец.

removeFirst() / pollFirst() — удаляет первый элемент из начала списка. removeLast() / pollLast() — с конца списка.

getFirst() / peekFirst(); getLast() / peekLast() — возвращает первый/последний элемент списка.

📌 Документация

#java #lesson #collections
Кортежи в Java

Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.

В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.

Важной особенностью кортежей является возможность выстраивать цепочки, например так:

Cortege<Long, Cortege<String, Cortege<Float, Cortege.End>>>

#java #lesson #collections
Интерфейс Comparable

Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.

Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.

В дальнейшем это разница будет использованная для сортировки значений в коллекции.

#lesson #collections
Алгоритмическая сложность коллекций

Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.

Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.

На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.

#lesson #collections
👍2
Кортежи в Java

Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.

В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.

Важной особенностью кортежей является возможность выстраивать цепочки, например так:

Cortege<Long, Cortege<String, Cortege<Float, Cortege.End>>>

#java #lesson #collections
👍3👎3
Интерфейс Comparable

Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.

Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.

В дальнейшем это разница будет использованная для сортировки значений в коллекции.

#lesson #collections
Алгоритмическая сложность коллекций

Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.

Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.

На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.

#lesson #collections
Алгоритмическая сложность коллекций

Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.

Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.

На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.

#lesson #collections
👍2👎1
Класс LinkedList

Это структура данных в виде связанного списка. Таким образом мы можем быстро добавлять элементы, но нам будет проблематично брать данные по индексу.

У него есть все методы, которые определены в интерфейсах List, Queue, Deque.

addFirst() / offerFirst() — добавляет элемент в начало списка. addLast() / offerLast() — в конец.

removeFirst() / pollFirst() — удаляет первый элемент из начала списка. removeLast() / pollLast() — с конца списка.

getFirst() / peekFirst(); getLast() / peekLast() — возвращает первый/последний элемент списка.

📌 Документация

#java #lesson #collections
2🌚2
Интерфейс Comparable

Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.

Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.

В дальнейшем это разница будет использованная для сортировки значений в коллекции.

#lesson #collections