commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "K P (JIRA)" <>
Subject [jira] [Created] (COLLECTIONS-704) GrowthList: ambiguity in constructor argument
Date Wed, 28 Nov 2018 15:46:00 GMT
K P created COLLECTIONS-704:

             Summary: GrowthList: ambiguity in constructor argument
                 Key: COLLECTIONS-704
             Project: Commons Collections
          Issue Type: Improvement
          Components: List
    Affects Versions: 4.2, 4.0
            Reporter: K P

The javadoc of constructor

{{[GrowthList|](int initialSize)}}


{{initialSize}} - the initial size of the ArrayList


However, this is confusing terminology: As the initialSize argument is passed directly to
the internal ArrayList constructor, this is effectively the initial +capacity+. The +capacity+
is NOT the same as the actual list +size+. So after this constructor is called, the actual
list.size() is still 0. This is identical to the normal ArrayList constructor's behavior of

However, the GrowthList javadoc is confusing by explicitly claiming this is the "_initial
size_", which may lead the reader to think that this constructor effectively grows the initial
list to an actual given size - size in the sense the word is used everywhere else in the javadoc
of this class. As opposed to the javadoc of Java's ArrayList, where they clear use the terminology
"_the initial capacity of the list_", to avoid any confusion between the notion of internal
array capacity and the list size.

If, long ago, this GrowthList constructor was once intended to really set the ini**tial size,
then is clearly not what the code does.

However, if this never was the intention, and this was just intended to be an initial capacity,
as the normal ArrayList, then the javadoc of GrowthList should be slightly reworded, to avoid
ambiguity or misunderstanding, and make clear this is just the initial _capacity_ of the underlying
ArrayList; not the initial _size_ of the list.


This message was sent by Atlassian JIRA

View raw message