LinkedTreeMap
Date: 2016-11-03

com.google.gson.internal

## Class LinkedTreeMap<K,V>

- java.lang.Object
- - java.util.AbstractMap<K,V>
  - - com.google.gson.internal.LinkedTreeMap<K,V>

- All Implemented Interfaces:
    java.io.Serializable, java.util.Map<K,V>

      public final class LinkedTreeMap<K,V>
      extends java.util.AbstractMap<K,V>
      implements java.io.Serializable

  A map of comparable keys to values. Unlike `TreeMap`, this class uses insertion order for iteration order. Comparison order is only used as an optimization for efficient insertion and removal.

  This implementation was derived from Android 4.1's TreeMap class.

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.util.AbstractMap

      `java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>`

    - ### Nested classes/interfaces inherited from interface java.util.Map

      `java.util.Map.Entry<K,V>`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LinkedTreeMap()` Create a natural order, empty tree map whose keys must be mutually comparable and non-null.
    `LinkedTreeMap(java.util.Comparator<? super K> comparator)` Create a tree map ordered by `comparator`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()`
    `boolean` | `containsKey(java.lang.Object key)`
    `java.util.Set<java.util.Map.Entry<K,V>>` | `entrySet()`
    `V` | `get(java.lang.Object key)`
    `java.util.Set<K>` | `keySet()`
    `V` | `put(K key, V value)`
    `V` | `remove(java.lang.Object key)`
    `int` | `size()`

    - ### Methods inherited from class java.util.AbstractMap

      `clone, containsValue, equals, hashCode, isEmpty, putAll, toString, values`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### LinkedTreeMap

          public LinkedTreeMap()

      Create a natural order, empty tree map whose keys must be mutually comparable and non-null.

    - #### LinkedTreeMap

          public LinkedTreeMap(java.util.Comparator<? super K> comparator)

      Create a tree map ordered by `comparator`. This map's keys may only be null if `comparator` permits.
      Parameters:
        `comparator` - the comparator to order elements with, or `null` to use the natural ordering.

  - ### Method Detail

    - #### size

          public int size()

      Specified by:
        `size` in interface `java.util.Map<K,V>`
      Overrides:
        `size` in class `java.util.AbstractMap<K,V>`

    - #### get

          public V get(java.lang.Object key)

      Specified by:
        `get` in interface `java.util.Map<K,V>`
      Overrides:
        `get` in class `java.util.AbstractMap<K,V>`

    - #### containsKey

          public boolean containsKey(java.lang.Object key)

      Specified by:
        `containsKey` in interface `java.util.Map<K,V>`
      Overrides:
        `containsKey` in class `java.util.AbstractMap<K,V>`

    - #### put

          public V put(K key,
              V value)

      Specified by:
        `put` in interface `java.util.Map<K,V>`
      Overrides:
        `put` in class `java.util.AbstractMap<K,V>`

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `java.util.Map<K,V>`
      Overrides:
        `clear` in class `java.util.AbstractMap<K,V>`

    - #### remove

          public V remove(java.lang.Object key)

      Specified by:
        `remove` in interface `java.util.Map<K,V>`
      Overrides:
        `remove` in class `java.util.AbstractMap<K,V>`

    - #### entrySet

          public java.util.Set<java.util.Map.Entry<K,V>> entrySet()

      Specified by:
        `entrySet` in interface `java.util.Map<K,V>`
      Specified by:
        `entrySet` in class `java.util.AbstractMap<K,V>`

    - #### keySet

          public java.util.Set<K> keySet()

      Specified by:
        `keySet` in interface `java.util.Map<K,V>`
      Overrides:
        `keySet` in class `java.util.AbstractMap<K,V>`