Commons Collections Changes

Release History

VersionDateDescription
4.0TBANext release

Release 4.0 - TBA

TypeChangesBy

add

Added "IndexedCollection" collection decorator which provides a map-like view on an existing collection. Fixes COLLECTIONS-275. Thanks to Stephen Kestle.tn

add

Added "DualLinkedHashBidiMap" bidi map implementation. Fixes COLLECTIONS-258. Thanks to Nathan Blomquist.tn

add

Added "LazyIteratorChain" iterator. Fixes COLLECTIONS-396. Thanks to Jeff Rodriguez.tn

fix

SetUniqueList.set(int, E) now works correctly if the object to be inserted is already placed at the given position. Fixes COLLECTIONS-444. Thanks to Thomas Vahrst.tn

fix

MultiKeyMap.clone() now correctly calls super.clone(). Fixes COLLECTIONS-441. Thanks to Thomas Vahrst.tn

fix

Use of final keyword where applicable, minor performance improvements by properly initializing the capacity of newly created collections when known in advance. Fixes COLLECTIONS-312. Thanks to Peter Lawrey, Gary Gregory.tn

add

Added NodeListIterator and convenience methods in IteratorUtils to iterate over a org.w3c.dom.NodeList. Fixes COLLECTIONS-322. Thanks to Thomas Vahrst.tn

add

Added "emptyIfNull" methods to classes "CollectionUtils", "ListUtils", "SetUtils" and "MapUtils". Fixes COLLECTIONS-436. Thanks to Arman Sharif.tn

fix

Fixed performance issue in "SetUniqueList#retainAll" method for large collections. Fixes COLLECTIONS-427. Thanks to Mert Guldur.brentworden

fix

Fixed performance issue in "ListOrderedSet#retainAll" method for large collections. Fixes COLLECTIONS-426. Thanks to Adrian Nistor.brentworden

fix

Improved performance of "ListOrderedMap#remove(Object)" method. Fixes COLLECTIONS-425. Thanks to Adrian Nistor.tn

fix

Added clarifying javadoc wrt runtime complexity of "AbstractLinkedList#retainAll". Fixes COLLECTIONS-417. Thanks to Adrian Nistor.tn

fix

Added clarifying javadoc wrt runtime complexity of "AbstractLinkedList#removeAll". Fixes COLLECTIONS-415. Thanks to Adrian Nistor.tn

fix

Improved performance of "removeAll()" method for sets returned by "DualHashBidiMap#entrySet()". Fixes COLLECTIONS-413. Thanks to Adrian Nistor.tn

fix

Improved performance of "CollectionUtils#subtract" methods. Fixes COLLECTIONS-412. Thanks to Adrian Nistor.tn

fix

Fixed possible "IndexOutOfBoundsException" in "ListOrderedMap#putAll". Fixes COLLECTIONS-411. Thanks to Adrian Nistor.tn

fix

Improved performance of "SetUniqueList#addAll" method. Fixes COLLECTIONS-410. Thanks to Adrian Nistor.tn

fix

Improved performance of "ListOrderedSet#addAll" method. Fixes COLLECTIONS-409. Thanks to Adrian Nistor.tn

fix

Improved performance of "SetUniqueList#removeAll". Fixes COLLECTIONS-408. Thanks to Adrian Nistor.tn

fix

Improved performance of "ListOrderedSet#remove(Object)" in case the object is not contained in the Set. Fixes COLLECTIONS-407. Thanks to Adrian Nistor.tn

fix

Improved performance of "ListUtils#subtract" method. Fixes COLLECTIONS-406. Thanks to Adrian Nistor.tn

add

Added "ListUtils#partition" method to split a List into consecutive sublists. Fixes COLLECTIONS-393. Thanks to Chris Shayan.tn

add

Added serialVersionUID fields for "ExtendedProperties", "CompositeCollection", "CompositeSet", "EmptyMapMutator", "EmptySetMutator". Fixes COLLECTIONS-327. Thanks to sebb.brentworden

Fields transformer and decorated in class "TransformingComparator" are now final. Fixes COLLECTIONS-324. Thanks to sebb.tn

add

Added "CollectionUtils#forAllDo" implementation which takes an "Iterator" as input. Fixes COLLECTIONS-383. Thanks to Adrian Cumiskey.tn

add

Added new method "get(int)" to "BoundedFifoBuffer" and "CircularFifoBuffer". Fixes COLLECTIONS-399. Thanks to Sebb.tn

add

Added serialization support for "FixedOrderComparator" and "TransformingComparator". Fixes COLLECTIONS-272. Thanks to Chaitanya Mutyala.tn

Return concrete class in static factory methods instead of base class interface (except for Unmodifiable decorators). Fixes COLLECTIONS-231. Thanks to Torsten Curdt.tn

add

Added an implementation of Eugene Myers difference algorithm in package o.a.c.c.comparators.sequence. Fixes COLLECTIONS-404. Thanks to Jordane Sarda.luc

fix

Added missing null check in "CollectionUtils#addIgnoreNull(Collection, Object)". Fixes COLLECTIONS-400. Thanks to Shin Hwei Tan.tn

fix

Fixed javadoc for "MapUtils#toProperties(Map)". Fixes COLLECTIONS-391. Thanks to Shin Hwei Tan.tn

fix

Clarified javadoc for "TransformerUtils#mapTransformer" for null input. Fixes COLLECTIONS-389. Thanks to Shin Hwei Tan.tn

fix

Clarified javadoc for "FactoryUtils#prototypeFactory" for null input. Fixes COLLECTIONS-388. Thanks to Shin Hwei Tan.tn

fix

Fixed javadoc for several methods wrt expected NullPointerExceptions. Fixes COLLECTIONS-379. Thanks to Shin Hwei Tan.tn

fix

Changed behavior of "CaseInsensitiveMap" constructor to be compliant with "HashMap" in case the initial capacity is set to zero. Fixes COLLECTIONS-323. Thanks to Maarten Brak.jochen

fix

Synchronized access to lock in "StaticBucketMap#size()". Fixes COLLECTIONS-334. Thanks to sebb.jochen

fix

Fixed cache assignment for "TreeBidiMap#entrySet". Fixes COLLECTIONS-335. Thanks to sebb.jochen

fix

Added clarification to javadoc of "ListOrderedMap" that "IdentityMap" and "CaseInsensitiveMap" are not supported. Fixes COLLECTIONS-332. Thanks to Tom Parker.jochen

fix

"FilterListIterator#hasNext" does not throw a NullPointerException anymore to comply to the Java iterator specification. Fixes COLLECTIONS-360. Thanks to Sai Zhang.jochen

fix

Improve javadoc of "CollatingIterator" wrt the used "Comparator" and throw a NullPointerException in "CollatingIterator#least" if no comparator is set. Fixes COLLECTIONS-331. Thanks to Michael Krkoska.jochen

add

Added support for using custom "Equator" objects in "EqualPredicate". Fixes COLLECTIONS-293. Thanks to Stephen Kestle.tn

add

Added "PassiveExpiringMap" map decorator. Fixes COLLECTIONS-241. Thanks to Elifarley Callado Coelho.brentworden

add

Added "ListUtils#select" and "ListUtils#selectRejected" methods. Fixes COLLECTIONS-405. Thanks to Adam Dyga.brentworden

fix

"CollectionUtils#removeAll" wrongly called "ListUtils#retainAll". Fixes COLLECTIONS-219. Thanks to Tom Leccese.scolebourne