Collection
не является конкретным типом: это интерфейс.
Таким образом, вы не можете создать его непосредственно.
Теперь, когда TreeSet
является реализацией Collection
, вы можете назначить объект TreeSet
переменной Collection
. Это будет прозрачно для клиента, который манипулирует Collection
.
Footprint
Вы также должны знать, что Set
имеет более важную площадь, чем упорядоченная коллекция, как List
. Поэтому, если Collection
содержит много элементов, использование List
может иметь смысл, поскольку клиенты будут манипулировать переменной Collection
.
Заказанный
A TreeSet
использует естественный порядок элементов (или какой из Comparator
), а не порядок появления / вставки элементов в Collection
.
Таким образом, порядок элементов может измениться, если вы используете TreeSet
. Если Коллекция упорядочена как последовательность и вы хотите сохранить ее, лучше использовать LinkedHashSet
.