Рубрики
Без рубрики

Методы фабрики сбора для Var

Краткое и практическое руководство по фабричным методам создания коллекций Var в Java с использованием синтаксиса, подобного Scala.

Автор оригинала: baeldung.

1. Обзор

Vavr – это мощная библиотека для Java 8+, построенная поверх лямбда-выражений Java. Вдохновленный языком Scala, Var добавляет функциональные конструкции программирования в язык Java , такие как сопоставление шаблонов, структуры управления, типы данных, постоянные и неизменяемые коллекции и многое другое.

В этой короткой статье мы покажем , как использовать некоторые заводские методы для создания Var коллекций . Если вы новичок в Avr, вы можете начать с этого вводного руководства , которое, в свою очередь, содержит ссылки на другие полезные статьи.

2. Зависимость Maven

Чтобы добавить библиотеку Var в проект Maven, отредактируйте файл pom.xml файл для включения следующей зависимости:


    io.vavr
    vavr
    0.9.1

Вы можете найти последнюю версию библиотеки в центральном репозитории Maven .

3. Статические Заводские методы

Использование статического импорта:

static import io.vavr.API.*;

мы можем создать список с помощью конструктора List(…):

List numbers = List(1,2,3);

вместо использования статического заводского метода of(…):

List numbers = List.of(1,2,3);

или также:

Tuple t = Tuple('a', 3);

вместо:

Tuple t = Tuple.of('a', 3);

Этот синтаксический сахар похож на конструкции в Scala/Kotlin. Отныне мы будем использовать эти сокращения в статье.

4. Создание элементов опций

Элементы Option не являются коллекциями, но они могут быть очень полезными конструкциями библиотеки Var. Это тип, который позволяет нам содержать либо объект, либо None элемент (эквивалент null объекта):

Option none = None();
Option some = Some(1);

5. Кортежи Var

Точно так же Java не поставляется с кортежами, такими как упорядоченные пары, тройки и т. Д. В Var мы можем определить кортеж, который содержит до восьми объектов разных типов . Вот пример , который содержит Символ , Строку и Целое число объект:

Tuple3 tuple
  = Tuple('a', "chain", 2);

6. Тип Попытки

Тип Try может использоваться для моделирования вычислений, которые могут вызвать или не вызвать исключение :

Try integer
  = Success(55);
Try failure
  = Failure(new Exception("Exception X encapsulated here"));

В этом случае, если мы оценим integer.get () , мы получим объект integer 55. Если мы оценим failure.get() , будет выдано исключение.

7. Коллекции Var

Мы можем создавать коллекции самыми разными способами. Для List s мы можем использовать List.of(), List.fill(), List.tabulate () и т. Д. Как упоминалось ранее, заводским методом по умолчанию является List.of () , который можно сократить с помощью конструктора стиля Scala:

List list = List(1, 2, 3, 4, 5);

Мы также можем создать пустой список (называемый объектом Nil в Var ):

List()

Аналогичным образом мы можем создавать другие виды Коллекции s:

Array arr = Array(1, 2, 3, 4, 5);
Stream stm = Stream(1, 2, 3, 4, 5);
Vector vec = Vector(1, 2, 3, 4, 5);

8. Заключение

Мы видели наиболее распространенные конструкторы для типов и коллекций Var . Синтаксический сахар, предоставляемый статическим импортом, упомянутым в разделе 3 , упрощает создание всех типов в библиотеке.

Вы можете найти все примеры кода, используемые в этой статье, в проекте GitHub .