Class CompactLinkedMap<K,V>

java.lang.Object
com.cedarsoftware.util.CompactMap<K,V>
com.cedarsoftware.util.CompactLinkedMap<K,V>
Type Parameters:
K - the type of keys maintained by this map
V - the type of mapped values
All Implemented Interfaces:
Map<K,V>

public class CompactLinkedMap<K,V> extends CompactMap<K,V>
A case-insensitive Map implementation that uses a compact internal representation for small maps. This Map exists to simplify JSON serialization. No custom reader nor writer is needed to serialize this map. It is a drop-in replacement for LinkedHashMap.
Author:
John DeRegnaucourt ([email protected])
Copyright (c) Cedar Software LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

License

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
  • Constructor Details

    • CompactLinkedMap

      public CompactLinkedMap()
    • CompactLinkedMap

      public CompactLinkedMap(Map<K,V> other)
  • Method Details

    • getNewMap

      protected Map<K,V> getNewMap()
      Description copied from class: CompactMap
      Creates the backing map instance when size exceeds compactSize.

      Default implementation returns HashMap. Override to provide different map implementation (e.g., TreeMap for sorted maps, LinkedHashMap for insertion ordered maps).

      Overrides:
      getNewMap in class CompactMap<K,V>
      Returns:
      new empty map instance for backing storage
    • isCaseInsensitive

      protected boolean isCaseInsensitive()
      Description copied from class: CompactMap
      Determines if String keys are compared case-insensitively.

      Default implementation returns false (case-sensitive). Override to change String key comparison behavior. Affects key equality and sorting.

      Overrides:
      isCaseInsensitive in class CompactMap<K,V>
      Returns:
      true if String keys should be compared ignoring case, false otherwise
    • useCopyIterator

      protected boolean useCopyIterator()