Interface ImList<A>

All Superinterfaces:
Append<ImList<A>,A>, Countable, Emptable<ImList<A>>, Filter<ImList<A>,A>, FMap<A>, FoldLeft<A>, FoldRight<A>, ForEach<A>, Iterable<A>, MAP<A>, One<ImList<A>,A>, PositionalRead<A>, Prepend<ImList<A>,A>, Tail<ImList<A>,A>
All Known Implementing Classes:
ImListLinked, ImListLinkedBase

public interface ImList<A> extends PositionalRead<A>, Countable, One<ImList<A>,A>, Append<ImList<A>,A>, Prepend<ImList<A>,A>, Tail<ImList<A>,A>, Filter<ImList<A>,A>, MAP<A>, FMap<A>
  • Method Details

    • of

      @SafeVarargs static <T> ImList<T> of(T... values)
    • of

      static <T> ImList<T> of(Iterable<T> values)
    • of

      static <T> ImList<T> of(PositionalRead<T> values)
    • containsCount

      default int containsCount(Fn2<A,A,Boolean> equals, PositionalRead<A> items)
      Проверка наличия указанных элементов
      Parameters:
      equals - функция проверки на равенство
      items - искомые элементы
      Returns:
      кол-во совпавших
    • containsAll

      default boolean containsAll(PositionalRead<A> items)
      Проверка наличия указанных элементов
      Parameters:
      items - искомые элементы
      Returns:
      true - указанные элементы есть в списке / false - указанные элементы отсутствуют или присутствуют в не полном объеме
    • containsAll

      default boolean containsAll(A... items)
      Проверка наличия указанных элементов
      Parameters:
      items - искомые элементы
      Returns:
      true - указанные элементы есть в списке / false - указанные элементы отсутствуют или присутствуют в не полном объеме
    • containsAll

      default boolean containsAll(Iterable<A> items)
      Проверка наличия указанных элементов
      Parameters:
      items - искомые элементы
      Returns:
      true - указанные элементы есть в списке / false - указанные элементы отсутствуют или присутствуют в не полном объеме
    • find

      default Optional<A> find(Function<A,Boolean> predicate)
      Поиск элемента
      Parameters:
      predicate - искомый элемент
      Returns:
      искомый элемент или None
    • reverse

      default ImList<A> reverse()
      Разворот списка
      Returns:
      список в обратном порядке
    • enumerate

      default ImList<ImList.Enumerated<A>> enumerate()
      Перечислить/нумеровать элементы списка
      Returns:
      список
    • stream

      default Stream<A> stream()
    • zip

      default <B> ImList<Tuple2<A,B>> zip(ImList<B> other)
      Сопоставление двух списков в пары.
       var res = ImList.of(1,2,3).zip(ImList.of(4,5,6,7));
       assertTrue(res.size()==3);
       assertTrue(res.get(0).map(v->v.equals(Tuple2.of(1,4))).orElse(false));
       assertTrue(res.get(1).map(v->v.equals(Tuple2.of(2,5))).orElse(false));
       assertTrue(res.get(2).map(v->v.equals(Tuple2.of(3,6))).orElse(false));
       
      Type Parameters:
      B - тип элементов второй пары
      Parameters:
      other - второй список
      Returns:
      список пар
    • take

      default ImList<A> take(long count)
      Возвращает указанное кол-во элементов или меньше (сколько есть)
      Parameters:
      count - кол-во элементов
      Returns:
      список
    • skip

      default ImList<A> skip(long count)
      Возвращает элементы, пропуская указанное кол-во с начала
      Parameters:
      count - кол-во пропускаемых элементов
      Returns:
      список