- Type Parameters:
A- тип элементов в итераторе
- All Superinterfaces:
java.lang.Iterable<A>
- All Known Implementing Classes:
ArrayIterable,BasicEventList,BasicEventSet,BiProductIterable,ClassSet,EmptyIterable,EterableProxy,FilterIterable,ImTreeWalk.Walk,LimitIterable,MapIterable,SingleIterable,UnionIterable
public interface Eterable<A>
extends java.lang.Iterable<A>
Расширение стандартного итератора
-
Method Summary
Modifier and Type Method Description default longcount()Посчет кол-ва элементовstatic <A> Eterable<A>empty()"Пустой" Итераторdefault Eterable<A>filter(java.util.function.Predicate<A> filter)Фильтрация исходных данныхdefault java.util.Optional<A>first()Возвращает первый элементdefault Eterable<A>limit(long limit)Ограничение исходного набораdefault <B> Eterable<B>map(java.util.function.Function<A,B> map)Отображения одного набора данных на другойdefault Eterable<A>notNull()Фильтрация исходного набора - удаление null значенийstatic <A> Eterable<A>of(A... a)Итератор по массивуstatic <A> Eterable<A>of(java.lang.Iterable<? extends A> a)Создает итераторdefault <B> Eterable<Pair<A,B>>product(java.lang.Iterable<B> source)Декартово произведениеdefault <B, C, D, E> Eterable<A>product(java.lang.Iterable<B> source1, java.lang.Iterable<C> source2, java.lang.Iterable<D> source3, java.lang.Iterable<E> source4, QuintConsumer<A,B,C,D,E> consumer)Декартово произведениеdefault <B, C, D> Eterable<A>product(java.lang.Iterable<B> source1, java.lang.Iterable<C> source2, java.lang.Iterable<D> source3, QuadConsumer<A,B,C,D> consumer)Декартово произведениеdefault <B, C> Eterable<A>product(java.lang.Iterable<B> source1, java.lang.Iterable<C> source2, TripleConsumer<A,B,C> consumer)Декартово произведениеdefault <B> Eterable<A>product(java.lang.Iterable<B> source, java.util.function.BiConsumer<A,B> consumer)Декартово произведениеdefault <R> Rreduce(R initial, java.util.function.BiFunction<R,A,R> reducer)Свертка значенийstatic <A> Eterable<A>single(A a)Создает итератор по единичному значениюdefault java.util.List<A>toList()Преобразование в списокstatic <A> TreeIterBuilder<A>tree(A root, java.util.function.Function<A,java.lang.Iterable<? extends A>> follow)Создание итератора по деревуdefault Eterable<A>union(java.lang.Iterable<A>... iter)Присоединение данных к исходнымdefault Eterable<A>union(java.lang.Iterable<java.lang.Iterable<A>> iter)Присоединение данных к исходным
-
Method Details
-
single
Создает итератор по единичному значению- Type Parameters:
A- тип значения- Parameters:
a- значение- Returns:
- итератор
-
of
Итератор по массиву- Type Parameters:
A- тип элементов в массиве- Parameters:
a- массив- Returns:
- итератор
-
of
Создает итератор- Type Parameters:
A- тип элементов- Parameters:
a- исходный итератор- Returns:
- итератор
-
empty
"Пустой" Итератор- Type Parameters:
A- тип элементов- Returns:
- итератор
-
filter
Фильтрация исходных данных- Parameters:
filter- фильтр- Returns:
- итератор
-
notNull
Фильтрация исходного набора - удаление null значений- Returns:
- итератор
-
union
Присоединение данных к исходным- Parameters:
iter- присоединяемые данные- Returns:
- итератор
-
union
Присоединение данных к исходным- Parameters:
iter- присоединяемые данные- Returns:
- итератор
-
map
Отображения одного набора данных на другой- Type Parameters:
B- целевой тип данных- Parameters:
map- фунция отображения- Returns:
- итератор
-
limit
Ограничение исходного набора- Parameters:
limit- максимаьлное кол-во выбираемых значений- Returns:
- кол-во
-
product
Декартово произведение- Type Parameters:
B- Тип дополнительного множества- Parameters:
source- множество на которое производиться умножение- Returns:
- Декартово произведение
-
product
default <B> Eterable<A> product(java.lang.Iterable<B> source, java.util.function.BiConsumer<A,B> consumer)Декартово произведение- Type Parameters:
B- Тип дополнительного множества- Parameters:
source- множество на которое производиться умножениеconsumer- сторона которая принимает произведение- Returns:
- Исходный итератор (self ссылка)
-
product
default <B, C> Eterable<A> product(java.lang.Iterable<B> source1, java.lang.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(java.lang.Iterable<B> source1, java.lang.Iterable<C> source2, java.lang.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(java.lang.Iterable<B> source1, java.lang.Iterable<C> source2, java.lang.Iterable<D> source3, java.lang.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
Возвращает первый элемент- Returns:
- первый элемент
-
toList
Преобразование в список- Returns:
- список
-
tree
static <A> TreeIterBuilder<A> tree(A root, java.util.function.Function<A,java.lang.Iterable<? extends A>> follow)Создание итератора по дереву- Type Parameters:
A- тип узла дерева- Parameters:
root- кореньfollow- следование- Returns:
- создание итератора
-
count
default long count()Посчет кол-ва элементов- Returns:
- кол-во элементов
-
reduce
Свертка значений- Type Parameters:
R- Тип результата- Parameters:
initial- начальное значениеreducer- функция светки- Returns:
- результат
-