The statement
File f = null;
is valid and useful (I don't think I need to explain why). It is likewise useful to have a collection of files, some of which may be null.
List<File> files = new ArrayList<File>();
// use my collection of files
// .add...
// not using this one anymore:
files.set(3, null);
The usefulness of collections that may contain null objects proceeds directly from the usefulness of objects that may be null. It is really as simple as that.