Кортежи в Java
Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.
В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.
Важной особенностью кортежей является возможность выстраивать цепочки, например так:
Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.
В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.
Важной особенностью кортежей является возможность выстраивать цепочки, например так:
Cortege<Long, Cortege<String, Cortege<Float, Cortege.End>>>
#java #lesson #collections❤4
Интерфейс Comparable
Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.
Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.
В дальнейшем это разница будет использованная для сортировки значений в коллекции.
#lesson #collections
Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.
Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.
В дальнейшем это разница будет использованная для сортировки значений в коллекции.
#lesson #collections
❤2
Алгоритмическая сложность коллекций
Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.
Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.
На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.
#lesson #collections
Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.
Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.
На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.
#lesson #collections
Очередь в Java
Описать работу очереди можно одной фразой: «Первый вошёл — последний вышел». Другими словами, элементы добавление первые в очередь будут получены первые остальных.
Для реализации очередей в Java есть интерфейс Queue<E> и метод pull(), который удаляет первый элемент в очереди и возвращает его.
#java #lesson #collections
Описать работу очереди можно одной фразой: «Первый вошёл — последний вышел». Другими словами, элементы добавление первые в очередь будут получены первые остальных.
Для реализации очередей в Java есть интерфейс Queue<E> и метод pull(), который удаляет первый элемент в очереди и возвращает его.
#java #lesson #collections
❤3🤔2
Итераторы
Это объекты, по которым можно "пройтись". Итератором считается объект, который реализовал интерфейс
Такие итераторы можно получить, например, у ArrayList, поскольку он реализует Collection, а значит у него есть метод
#java #lesson #collections
Это объекты, по которым можно "пройтись". Итератором считается объект, который реализовал интерфейс
Iterator <E>
. Такие итераторы можно получить, например, у ArrayList, поскольку он реализует Collection, а значит у него есть метод
Iterator<E> iterator()
. #java #lesson #collections
❤2
.stream()
С Java 8 мы можем обрабатывать коллекции (списки, множества): фильтровать (
Также ничто нам не мешает пройтись по списку (
📌 Документация
#java #lesson #collections
С Java 8 мы можем обрабатывать коллекции (списки, множества): фильтровать (
.filter()
), сортировать (.sorted()
), преобразовывать (.map()
).Также ничто нам не мешает пройтись по списку (
.forEach()
), сохранить в виде другого типа (.collect()
) или посчитать значений (.reduce()
).📌 Документация
#java #lesson #collections
❤7
Awesome Java.
A curated list of awesome Java frameworks, libraries and software.
https://github.com/akullpp/awesome-java
#collections
A curated list of awesome Java frameworks, libraries and software.
https://github.com/akullpp/awesome-java
#collections
GitHub
GitHub - akullpp/awesome-java: A curated list of awesome frameworks, libraries and software for the Java programming language.
A curated list of awesome frameworks, libraries and software for the Java programming language. - akullpp/awesome-java
❤3
Тип Optional
Если вы работает с коллекциями то, наверное, уже столкнулись с проблемой, когда метод
Вместо этого мы можем получить null, задать значение по умолчанию или выбросить другую ошибку.
#java #lesson #collections
Если вы работает с коллекциями то, наверное, уже столкнулись с проблемой, когда метод
stream().any()
может ничего не вернуть. Мы получаем ошибку, с которой неудобно работать.Вместо этого мы можем получить null, задать значение по умолчанию или выбросить другую ошибку.
#java #lesson #collections
Класс LinkedList
Это структура данных в виде связанного списка. Таким образом мы можем быстро добавлять элементы, но нам будет проблематично брать данные по индексу.
У него есть все методы, которые определены в интерфейсах List, Queue, Deque.
📌 Документация
#java #lesson #collections
Это структура данных в виде связанного списка. Таким образом мы можем быстро добавлять элементы, но нам будет проблематично брать данные по индексу.
У него есть все методы, которые определены в интерфейсах List, Queue, Deque.
addFirst() / offerFirst()
— добавляет элемент в начало списка. addLast() / offerLast()
— в конец.removeFirst() / pollFirst()
— удаляет первый элемент из начала списка. removeLast() / pollLast()
— с конца списка.getFirst() / peekFirst()
; getLast() / peekLast()
— возвращает первый/последний элемент списка.📌 Документация
#java #lesson #collections
Кортежи в Java
Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.
В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.
Важной особенностью кортежей является возможность выстраивать цепочки, например так:
Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.
В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.
Важной особенностью кортежей является возможность выстраивать цепочки, например так:
Cortege<Long, Cortege<String, Cortege<Float, Cortege.End>>>
#java #lesson #collectionsИнтерфейс Comparable
Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.
Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.
В дальнейшем это разница будет использованная для сортировки значений в коллекции.
#lesson #collections
Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.
Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.
В дальнейшем это разница будет использованная для сортировки значений в коллекции.
#lesson #collections
Алгоритмическая сложность коллекций
Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.
Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.
На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.
#lesson #collections
Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.
Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.
На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.
#lesson #collections
👍2
Кортежи в Java
Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.
В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.
Важной особенностью кортежей является возможность выстраивать цепочки, например так:
Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.
В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.
Важной особенностью кортежей является возможность выстраивать цепочки, например так:
Cortege<Long, Cortege<String, Cortege<Float, Cortege.End>>>
#java #lesson #collections👍3👎3
Интерфейс Comparable
Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.
Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.
В дальнейшем это разница будет использованная для сортировки значений в коллекции.
#lesson #collections
Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.
Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.
В дальнейшем это разница будет использованная для сортировки значений в коллекции.
#lesson #collections
Алгоритмическая сложность коллекций
Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.
Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.
На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.
#lesson #collections
Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.
Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.
На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.
#lesson #collections
Алгоритмическая сложность коллекций
Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.
Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.
На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.
#lesson #collections
Как вам уже известно, коллекции намного затратнее чем массивы, но взамен предоставляют широкий список инструментов обработки данных.
Для каждой задачи нужно подобрать правильную коллекцию, чтобы с ней было удобно работать. Но также надо не забывать о её алгоритмической сложности при работе с данными.
На табличке выше записаны коллекции и сложности их методов. Рекомендуем выучить её наизусть.
#lesson #collections
👍2👎1
Класс LinkedList
Это структура данных в виде связанного списка. Таким образом мы можем быстро добавлять элементы, но нам будет проблематично брать данные по индексу.
У него есть все методы, которые определены в интерфейсах List, Queue, Deque.
📌 Документация
#java #lesson #collections
Это структура данных в виде связанного списка. Таким образом мы можем быстро добавлять элементы, но нам будет проблематично брать данные по индексу.
У него есть все методы, которые определены в интерфейсах 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
Помимо обычных коллекций, в Java существуют Sorted... коллекции. Их значения автоматически сортируются в натуральном порядке.
Для реализации такой сортировки тип значения должен имплементировать интерфейс Comparable. Он сравнивает два объекта и возвращает "разницу" между ними в виде числа.
В дальнейшем это разница будет использованная для сортировки значений в коллекции.
#lesson #collections