Sebb created LANG-839:
-------------------------
Summary: ArrayUtils removeElements methods use unnecessary HashSet
Key: LANG-839
URL: https://issues.apache.org/jira/browse/LANG-839
Project: Commons Lang
Issue Type: Improvement
Components: lang.*
Affects Versions: 3.1
Reporter: Sebb
Priority: Minor
The removeElements() methods use a HashSet to collect the indexes that need
removing.
This requires creating Integer objects for each index, and the HashSet then has
to be converted into an int[] array.
It would be more efficient to store the entries in an actual int[] array.
The maximum size of this is the length of the values array (or the length of
the input array if that is shorter).
The array must be truncated before calling the private removeAll() method; this
can be done with Arrays.copyOf(x[], length).
However, if the arrays are very large, and most of the values do not appear in
the input, this might result in using more memory than the HashSet
implementation.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira