Всем привет) Читаю Грокаем Алгоритмы, там пример кода на питоне. Он в принципе интуитивно понятен, но все же нашел на гите эти примеры, преписанные на Java. Сейчас прохожу быструю сортировку. Так вот, не много тупняка: я знаю ArrayList и LinkedList. Сейчас наткнулся на метод, с типом List. Но это же интерфейс. Я проходил интерфейсы, но особо с ними еще не сталкивался. На сколько я понимаю, интерфейсы "описывают" определенный функционал, который можно имплементировать уже в других классах. Собственно 2 вопроса: 1) почему использован не LinkedList? 2) Разве мы можем создавать метод, который будет возвращать нам тип, который является интерфейсом(а не классом). Я понимаю, что "почему кто то использовал, то а не другое" следует, наверное, задавать ему. Но может для кого то это очевидно ) Гит:
https://github.com/egonSchiele/grokking_algorithms/blob/master/04_quicksort/java/05_quicksort/src/Quicksort.java