Package org.djutils.immutablecollections
package org.djutils.immutablecollections
Contains a set of immutable collection interfaces and wrapper implementations. Two versions of immutable collections are
implemented:
- A version, identified by Immutable.COPY, where the immutable collection can neither be changed by any object "using" the ImmutableCollection nor anymore by objects that have a pointer to the collection, as an internal (shallow) copy is made of the collection. This is the default implementation.
- A version, identified by Immutable.WRAP, where the immutable collection can not be changed by any object "using" the ImmutableCollection, but it can still be changed by any object that has a pointer to the original collection that is "wrapped". Instead of a (shallow) copy of the collection, a pointer to the collection is stored.
Copyright (c) 2016-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html.
- Author:
- Alexander Verbraeck, Peter Knoppers
-
ClassDescriptionIndicate whether the immutable collection contains a COPY of the collection (neither changeable by the user of the immutable collection, nor by anyone holding a pointer to the original collection), or a WRAP for the original collection (not changeable by the user of the immutable collection, but can be changed by anyone holding a pointer to the original collection that is wrapped).An abstract base class for an immutable wrapper for a Set.An abstract base class for an immutable wrapper for a List.ImmutableAbstractMap<K,
V> An abstract base class for an immutable wrapper for a Map.An abstract base class for an immutable wrapper for a Set.An immutable wrapper for an ArrayList.A Collection interface without the methods that can change it.Static methods operating on immutable collections, or a mix of an immutable collection and a mutable collection.ImmutableHashMap<K,V> An immutable wrapper for a HashMap.An immutable wrapper for a HashSet.An immutable iterator over elements, wrapping a "mutable" iterator.An immutable wrapper for a LinkedHashMap.An immutable wrapper for a LinkedHashSet.A List interface without the methods that can change it.ImmutableMap<K,V> A Map interface without the methods that can change it.A map entry (key-value pair).AImmutableSortedMap
extended with navigation methods reporting closest matches for given search targets.AImmutableSortedSet
extended with navigation methods reporting closest matches for given search targets.ImmutableSet<E>A Set interface without the methods that can change it.ImmutableSortedMap<K,V> A SortedMap interface without the methods that can change it.A SortedSet interface without the methods that can change it.ImmutableTreeMap<K,V> An immutable wrapper for a TreeMap.An immutable wrapper for a TreeSet.An immutable wrapper for a Vector.