Inspectopedia Help

Collection without initial capacity

Reports attempts to instantiate a new Collection object without specifying an initial capacity.

If no initial capacity is specified, a default capacity is used, which will rarely be optimal. Failing to specify initial capacities for collections may result in performance issues if space needs to be reallocated and memory copied when the initial capacity is exceeded. This inspection checks allocations of classes listed in the inspection's settings.

Example:

new HashMap<String, String>();

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

CollectionsMustHaveInitialCapacity
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Java | Performance

Use the following options to configure the inspection:

  • List collection classes that should be checked.

  • Whether to ignore field initializers.

Inspection options

Here you can find the description of settings available for the Collection without initial capacity inspection, and the reference of their default values.

Classes to check

[java.util.ArrayDeque, java.util.ArrayList, java.util.BitSet, java.util.HashMap, java.util.HashSet, java.util.Hashtable, java.util.IdentityHashMap, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.PriorityQueue, java.util.Vector, java.util.WeakHashMap, java.util.concurrent.ConcurrentHashMap, java.util.concurrent.PriorityBlockingQueue]

Don't report field initializers

Not selected

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Java, 241.18072

Last modified: 18 June 2024