Hi Jules,
Would you consider adding a method to the DirectoryContentsList that returns the index of a given file? Either
/** Returns true if the list contains the specified file, and also returns its index if
it was found. */
bool contains (const File&, int& index) const;
or
/** Returns the index of the specified file, or -1 if that file is not in the list.
*/
int indexOf (const File& fileToFind) const;
would do. This would help avoid redundant O(N) searches through large list.