This is a nice idea! Additionally, (inspired by this idea,) emptyList() could return something that is castable to Deque (which is a sub-interface of Queue). Think of an empty plus unmodifiable LinkedList (which implements List, Deque, Queue).
Deque<String> d = (Deque<String>) Collections.emptyList(); This, together with the Sorted[Set|Map] proposal, would cover most important collections interfaces, right? 17.04.10, 14:03, "Osvaldo Doederlein" <opin...@gmail.com>: > 2010/4/17 assembling signals <assembling.sign...@yandex.ru> > > Hello, everyone! > > > > In the Collections utility class we have > > > > * emptyMap() > > * emptySet() > > > > * unmodifiableSet(...) > > * unmodifiableMap(...) > > * unmodifiableSortedSet(...) > > * unmodifiableSortedMap(...) > > > > So we have no > > > > * emptySortedMap() > > * emptySortedSet() > > > > I have several times encountered situations where methods needed either > > SortedSet or SortedMap. > > > > Do you think in would be appropriate to introduce the two proposed methods? > > > > Why not just changing the implementation of the existing emptyMap() and > emptySet(), so they return an object that is additionally sorted? This would > require a typecast, e.g. SortedMap map = (SortedMap)Collections.emptyMap(); > but wouldn't require changing the existing API, or adding any new API. Just > make very clear in the documentation that the typecast is valid only @since > 1.7. > > A+ > Osvaldo