Package xyz.cofe.sort

Interface BinFinder<LIST,​E>

Type Parameters:
LIST - Тип списка
E - Тип значения

public interface BinFinder<LIST,​E>
Поиск в сортированом списке
  • Method Summary

    Modifier and Type Method Description
    default void equals​(java.util.function.Consumer<E> consumer, LIST lst, java.util.Comparator<E> cmp, E target, int begin, int endex)  
    E get​(LIST lst, int index)
    Получение элемента по его индексу
    default int headIndex​(LIST lst, java.util.Comparator<E> cmp, E target, int begin, int endex)
    Поиск "головы" - ищет в списке начало некого значения.
    default int tailIndex​(LIST lst, java.util.Comparator<E> cmp, E target, int begin, int endex)
    Поиск "хвоста" - ищет в списке хвост некого значения.
  • Method Details

    • get

      E get​(LIST lst, int index)
      Получение элемента по его индексу
      Parameters:
      lst - список
      index - индекс
      Returns:
      элемент
    • equals

      default void equals​(java.util.function.Consumer<E> consumer, LIST lst, java.util.Comparator<E> cmp, E target, int begin, int endex)
    • headIndex

      default int headIndex​(LIST lst, java.util.Comparator<E> cmp, E target, int begin, int endex)
      Поиск "головы" - ищет в списке начало некого значения.

      Пример есть список:
      [0] = 2 // <- это будет "голова" для искомого значения 3
      [1] = 2
      [2] = 3
      [3] = 5 // <- это будет "голова" для искомого значения 7
      [4] = 8
      [5] = 8
      [6] = 9

      Parameters:
      lst - список
      cmp - функция согласно которой отсортированы элементы в списке
      target - искомое значение
      begin - начало области поиска
      endex - конец (исключительно) области поиска
      Returns:
      индекс соответ голове или -1, еслли не найдено
    • tailIndex

      default int tailIndex​(LIST lst, java.util.Comparator<E> cmp, E target, int begin, int endex)
      Поиск "хвоста" - ищет в списке хвост некого значения.

      Пример есть список:
      [0] = 2
      [1] = 2
      [2] = 3 // <- это будет "хвост" для искомого значения 2
      [3] = 5 // <- это будет "хвост" для искомого значения 4
      [4] = 8
      [5] = 8
      [6] = 9 // <- это будет "хвост" для искомого значения 8

      Parameters:
      lst - список
      cmp - функция согласно которой отсортированы элементы в списке
      target - искомое значение
      begin - начало области поиска
      endex - конец (исключительно) области поиска
      Returns:
      индекс соответ хвосту или -1, еслли не найдено