возвращает конкретную имплементацию (почему этот вариант может быть best practice?)
LinkedList<Customer> findAllCustomers(ArrayList<Long> ids) <— принимает кокретный тип параметров, возвращает конкретную имплементацию
итератор есть даже у set'ов, и ты вдруг неожиданно решил передать hashset, или у тебя есть мапа ключ значение, где ключи например то, что тебе нужно и было бы нелогично фильтровать мапу по значениям
во втором случа ты можешь подсунуть только конкретную реализацию, если тебе надо поменять аргуемент на линкедлист например то тебе придется менять вызов метода во всем проекте
Обсуждают сегодня