Программирование к интерфейсу говорит, "Мне нужна эта функциональность, и я не забочусь, куда это прибывает из".
Рассматривают (в Java), эти List
интерфейс по сравнению с ArrayList
и LinkedList
реальные классы. Если все, о чем я забочусь, - то, что у меня есть структура данных, содержащая несколько элементов данных, к которым я должен получить доступ через повторение, я выбрал бы List
(и это составляет 99% времени). Если я знаю, что мне нужно постоянно-разовый, вставляют/удаляют или от конца списка, я мог бы выбрать LinkedList
конкретная реализация (или более вероятно, используйте интерфейс Queue ). Если бы я знаю, что мне нужен произвольный доступ индексом, я выбрал бы ArrayList
реальный класс.
Нет, абсолютно НИКАКОЙ .
, Если Вы говорите Подрывной деятельности, что она должна вернуться файл, всех изменений не стало ветром.
Только Ваша память может вернуть их.
Исключение: Новые файлы, которые Вы добавили, только потеряет их "добавленное" состояние, но файл останется в этом каталоге, только состояние неизвестно ("?")