Согласно this
Базовая структура данных для HashSet является хеш-таблицей.
Но я также читал, что HashSet внутренне использует HashMap, чтобы избежатьдублирующиеся значения, которые в свою очередь внутренне используют массив блоков и LinkedList (заменен на дерево в Java 8)
Так правильно ли говорить, что HashSet использует HashTable в качестве структуры данных, а HashMap в качестве коллекции?
TreeSet реализует интерфейс SortedSet, поэтому повторяющиеся значения не допускаются.
Означает ли это, что TreeSet не использует HashMap для внутреннего использования, который используется HashSet для избежания дублирования значений? Использует ли LinkedHashSet для внутреннего использования HashMap?
Согласно это
Не рекомендуется использовать массивы точек памяти.
Почему?То, что я читал раньше -
Поскольку ArrayList не может быть создан для примитивных типов данных, члены ArrayList всегда являются ссылками на объекты в разных местах памяти (подробности см. В этом разделе).Поэтому в ArrayList фактические объекты никогда не хранятся в смежных местах.Ссылки на реальные объекты хранятся в смежных местах.В массиве это зависит, является ли массив массивом примитивного типа или типом объекта.В случае примитивных типов фактические значения представляют собой смежные местоположения, но в случае объектов распределение аналогично ArrayList.