Эта страница суммирует улучшения к платформе наборов в Java SE 6.
Этот выпуск видел меньше изменений API чем 5.0, но было больше фокуса на точности и ясности спецификации. Мы рекомендуем использовать Java SE 6 спецификаций при записи программ для более старых выпусков.
Основной темой изменений API был лучший двунаправленный доступ набора.
Эти новые интерфейсы набора обеспечиваются:
Deque - очередь с двусторонним доступом, поддерживая вставку элемента и удаление в обоих концах. Расширяет интерфейс Queue.
BlockingDeque - Deque с операциями, которые ожидают двухсторонней очереди, чтобы стать непустыми, получая элемент, и ожидать пространства, чтобы стать доступными в двухсторонней очереди, храня элемент. Расширяет и Deque и интерфейсы BlockingQueue. (Этот интерфейс является частью java.util.concurrent.)
NavigableSet - SortedSet, расширенный с помощью методов навигации, сообщая о самых близких соответствиях для данных целей поиска. К NavigableSet можно получить доступ и пересечен или в порядке по возрастанию или в порядке по убыванию. Этот интерфейс предназначается, чтобы заменить интерфейс SortedSet.
NavigableMap - SortedMap, расширенный с помощью методов навигации, возвращая самые близкие соответствия для данных целей поиска. К NavigableMap можно получить доступ и пересечен или в возрастании или в убывающем ключевом порядке. Этот интерфейс предназначается, чтобы заменить интерфейс SortedMap.
Эти существующие классы были retrofitted, чтобы реализовать новые интерфейсы:
LinkedList - retrofitted, чтобы реализовать интерфейс Deque.
TreeSet - retrofitted, чтобы реализовать интерфейс NavigableSet.
TreeMap - retrofitted, чтобы реализовать интерфейс NavigableMap.
Два новых метода были добавлены к утилите Collections class:
newSetFromMap(Map) - создает реализацию Set общего назначения из реализации Map общего назначения.
Нет никакого IdentityHashSet, который только использует class, но вместо этого,
Set<Object> identityHashSet=
Collections.newSetFromMap(
new IdentityHashMap<Object, Boolean>());
asLifoQueue(Deque) - возвращает представление Deque как В обратном порядке (Lifo) Queue.
У class утилиты Arrays теперь есть методы copyOf и copyOfRange, которые могут эффективно изменить размеры, усечь, или скопировать подмассивы для массивов всех типов.
Прежде:
int[] newArray = new int[newLength];
System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);