Различия между массивом и любой коллекцией из Java Collection framework?

Как говорится в заголовке, я рассматриваю "различия между массивом и любой коллекцией из Java Collection framework".

думал, что это достаточно высокий уровень, чтобы обеспечить хорошее понимание некоторым (или многим) из нас, кто знает слишком мало об этом или нужно думать слишком долго, чтобы придумать интересный ответ

до сих пор я придумал:

  1. классы Collection framework либо используют массив внизу, либо используют более сложные данные структура. Когда массив просто ... массив
  2. массив не имеет методов (без API), таких как те, которые предоставляются классами коллекции.

пожалуйста, поправьте меня, если это были неправильные предположения, и, конечно, добавьте свои собственные ответы

4 ответов


они практически unreleated, кроме сказать, что они обе-магазин группы ценностей.

С точки зрения возможностей, в то время как оба могут хранить ссылки на объекты:

  • массивы могут хранить примитивы
  • коллекции не магазин примитивов (хотя они могут хранить примитивные классы-оболочки, такие как Integer и т. д.)

одно важное отличие, обычно не понимаемое программистами, новыми для java, является одним из удобство использования и удобство, особенно учитывая, что коллекции автоматически расширяются по размеру при необходимости:

  • массивы-избегайте их использования, если вы есть to
  • коллекции-используйте их в предпочтении массивов

массивы в конечном счете являются единственным способом хранения группы примитивов/ссылок в одном объекте, но они являются наиболее базовым вариантом. Хотя массивы могут дать вам некоторые преимущества скорости, если вы нужно супер-быстрый код, коллекции предпочтительнее, потому что у них так много удобства.


существует 5 различий между массивом и коллекцией, как показано ниже:

  1. массивы фиксированы по размеру, тогда как некоторые коллекции могут расти в природе.

  2. массивы хранят однородные данные. Коллекции хранят как однородные, так и разнородные данные.

  3. в массивах нет подчеркивающих структур данных, тогда как коллекции имеют подчеркивающие структуры данных.

  4. массивы рекомендуется для производительности, в то время как коллекции-нет.

  5. массивы используют больше пространства памяти по сравнению с коллекциями.


  1. массивы фиксируются по длине, где as коллекции могут расти в природе.
  2. массивы могут хранить однородные элементы, тогда как коллекции могут хранить оба.
  3. Если вы знаете размер заранее, перейдите к массивам
  4. точка зрения производительности, лучше пойти с массивами
  5. массивы не имеют готовых методов, тогда как коллекции имеют готовые методы.

6 разница между массивы и коллекции следующие:

  1. массивы фиксированы по размеру, но коллекции динамичны по размеру.
  2. в отношении массивов памяти не хорошо использовать, но в отношении коллекций памяти лучше использовать.
  3. в отношении производительности его лучше использовать массивы, но в отношении коллекции производительности не хорошо использовать.
  4. массивы могут содержать только однородные элементы, но коллекции могут содержать как однородные, так и гетерогенные элементы
  5. массивы не имеют готовых методов, но коллекции имеют готовые структуры и методы данных.
  6. массивы могут содержать как примитивы, так и объекты-оболочки, но коллекции могут содержать только объекты.