Есть такой вот класс:
| Код | public class Folder { private int id; private ArrayList <Folder> list = new ArrayList<Folder>(); .... public void addSubFolder(Folder folder) { list.add(folder); } public ArrayList <Folder> getSubFolders() { return list; } }
|
Что-то типо каталога. Мне нужно написать поиск подкаталога, желательно рекурсивный, по id. Все работает до тех пор, пока не ищется не существующий каталог. Как выйти из рекурсии?
| Код | private Folder tmpFolder; public ArrayList <Folder> getSub(ArrayList <Folder> list, int id) { for(Folder folder : list) { if(folder.getId()==id) return folder.getSubFolders(); for(Folder subfolder : folder.getSubFolders()) { tmpFolder = folder; if(subfolder.getId()==id) return subfolder.getSubFolders(); } } return getSub(tmpFolder.getSubFolders(), id); }
|
|