Package xyz.cofe.iter

Interface Eterable<A>

    • Method Detail

      • single

        static <A> Eterable<A> single​(A a)
        Создает итератор по единичному значению
        Type Parameters:
        A - тип значения
        Parameters:
        a - значение
        Returns:
        итератор
      • of

        static <A> Eterable<A> of​(A... a)
        Итератор по массиву
        Type Parameters:
        A - тип элементов в массиве
        Parameters:
        a - массив
        Returns:
        итератор
      • of

        static <A> Eterable<A> of​(Iterable<? extends A> a)
        Создает итератор
        Type Parameters:
        A - тип элементов
        Parameters:
        a - исходный итератор
        Returns:
        итератор
      • empty

        static <A> Eterable<A> empty()
        "Пустой" Итератор
        Type Parameters:
        A - тип элементов
        Returns:
        итератор
      • filter

        default Eterable<A> filter​(Predicate<A> filter)
        Фильтрация исходных данных
        Parameters:
        filter - фильтр
        Returns:
        итератор
      • notNull

        default Eterable<A> notNull()
        Фильтрация исходного набора - удаление null значений
        Returns:
        итератор
      • union

        default Eterable<A> union​(Iterable<A>... iter)
        Присоединение данных к исходным
        Parameters:
        iter - присоединяемые данные
        Returns:
        итератор
      • union

        default Eterable<A> union​(Iterable<Iterable<A>> iter)
        Присоединение данных к исходным
        Parameters:
        iter - присоединяемые данные
        Returns:
        итератор
      • map

        default <B> Eterable<B> map​(Function<A,​B> map)
        Отображения одного набора данных на другой
        Type Parameters:
        B - целевой тип данных
        Parameters:
        map - фунция отображения
        Returns:
        итератор
      • limit

        default Eterable<A> limit​(long limit)
        Ограничение исходного набора
        Parameters:
        limit - максимаьлное кол-во выбираемых значений
        Returns:
        кол-во
      • product

        default <B> Eterable<Pair<A,​B>> product​(Iterable<B> source)
        Декартово произведение
        Type Parameters:
        B - Тип дополнительного множества
        Parameters:
        source - множество на которое производиться умножение
        Returns:
        Декартово произведение
      • product

        default <B> Eterable<A> product​(Iterable<B> source,
                                        BiConsumer<A,​B> consumer)
        Декартово произведение
        Type Parameters:
        B - Тип дополнительного множества
        Parameters:
        source - множество на которое производиться умножение
        consumer - сторона которая принимает произведение
        Returns:
        Исходный итератор (self ссылка)
      • product

        default <B,​C> Eterable<A> product​(Iterable<B> source1,
                                                Iterable<C> source2,
                                                TripleConsumer<A,​B,​C> consumer)
        Декартово произведение
        Type Parameters:
        B - Тип дополнительного множества
        C - Тип дополнительного множества
        Parameters:
        source1 - множество на которое производиться умножение
        source2 - множество на которое производиться умножение
        consumer - сторона которая принимает произведение
        Returns:
        Исходный итератор (self ссылка)
      • product

        default <B,​C,​D> Eterable<A> product​(Iterable<B> source1,
                                                        Iterable<C> source2,
                                                        Iterable<D> source3,
                                                        QuadConsumer<A,​B,​C,​D> consumer)
        Декартово произведение
        Type Parameters:
        B - Тип дополнительного множества
        C - Тип дополнительного множества
        D - Тип дополнительного множества
        Parameters:
        source1 - множество на которое производиться умножение
        source2 - множество на которое производиться умножение
        source3 - множество на которое производиться умножение
        consumer - сторона которая принимает произведение
        Returns:
        Исходный итератор (self ссылка)
      • product

        default <B,​C,​D,​E> Eterable<A> product​(Iterable<B> source1,
                                                                Iterable<C> source2,
                                                                Iterable<D> source3,
                                                                Iterable<E> source4,
                                                                QuintConsumer<A,​B,​C,​D,​E> consumer)
        Декартово произведение
        Type Parameters:
        B - Тип дополнительного множества
        C - Тип дополнительного множества
        D - Тип дополнительного множества
        E - Тип дополнительного множества
        Parameters:
        source1 - множество на которое производиться умножение
        source2 - множество на которое производиться умножение
        source3 - множество на которое производиться умножение
        source4 - множество на которое производиться умножение
        consumer - сторона которая принимает произведение
        Returns:
        Исходный итератор (self ссылка)
      • first

        default Optional<A> first()
        Возвращает первый элемент
        Returns:
        первый элемент
      • toList

        default List<A> toList()
        Преобразование в список
        Returns:
        список
      • tree

        static <A> TreeIterBuilder<A> tree​(A root,
                                           Function<A,​Iterable<? extends A>> follow)
        Создание итератора по дереву
        Type Parameters:
        A - тип узла дерева
        Parameters:
        root - корень
        follow - следование
        Returns:
        создание итератора
      • count

        default long count()
        Посчет кол-ва элементов
        Returns:
        кол-во элементов
      • reduce

        default <R> R reduce​(R initial,
                             BiFunction<R,​A,​R> reducer)
        Свертка значений
        Type Parameters:
        R - Тип результата
        Parameters:
        initial - начальное значение
        reducer - функция светки
        Returns:
        результат