Я узнал об этом недавно после того, как случайно наткнулся на ответ в Java API.Если у вас когда-либо есть карта, в которой в качестве ключей используются перечисления, убедитесь, что вы используете EnumMap .Это очень просто и намного более эффективно:
public interface LibraryItem{ ... }
public enum LibraryItemType{ BOOK, CD, VHS, AUDIO; ... }
Map<LibraryItemType, NavigableSet<LibraryItem>> itemsByType =
new EnumMap<>(LibraryItemType.class);