Class TreeMultimap<K,​V>

    • Method Detail

      • withSeq

        public static <V> TreeMultimap.Builder<V> withSeq()
        Returns a builder for TreeMultimap instances where values are stored in a sequence. Values for each key will be stored in a Vavr List, allowing duplicates and preserving insertion order.
        Type Parameters:
        V - The value type
        Returns:
        A new Builder for creating TreeMultimap instances with sequence-based value storage
      • withSet

        public static <V> TreeMultimap.Builder<V> withSet()
        Returns a builder for TreeMultimap instances where values are stored in a set. Values for each key will be stored in a Vavr HashSet, eliminating duplicates.
        Type Parameters:
        V - The value type
        Returns:
        A new Builder for creating TreeMultimap instances with set-based value storage
      • withSortedSet

        public static <V extends java.lang.Comparable<?>> TreeMultimap.Builder<V> withSortedSet()
        Returns a builder for TreeMultimap instances where values are stored in a sorted set. Values for each key will be stored in a Vavr TreeSet, eliminating duplicates and maintaining natural ordering.
        Type Parameters:
        V - The value type, must be Comparable
        Returns:
        A new Builder for creating TreeMultimap instances with sorted set-based value storage
      • withSortedSet

        public static <V> TreeMultimap.Builder<V> withSortedSet​(java.util.Comparator<? super V> comparator)
        Returns a builder for TreeMultimap instances where values are stored in a sorted set with a custom comparator. Values for each key will be stored in a Vavr TreeSet, eliminating duplicates and maintaining order defined by the comparator.
        Type Parameters:
        V - The value type
        Parameters:
        comparator - The comparator to define the ordering of values
        Returns:
        A new Builder for creating TreeMultimap instances with sorted set-based value storage using the given comparator
      • narrow

        public static <K,​V> TreeMultimap<K,​V> narrow​(TreeMultimap<? extends K,​? extends V> map)
        Narrows a TreeMultimap<? extends K, ? extends V> to TreeMultimap<K, V> via a type-safe cast. Safe here because the multimap is immutable and no elements can be added that would violate the type (covariance)

        CAUTION: If K is narrowed, the underlying Comparator might fail!

        Type Parameters:
        K - the target key type
        V - the target value type
        Parameters:
        map - the multimap to narrow
        Returns:
        the same multimap viewed as TreeMultimap<K, V>
      • emptyMapSupplier

        protected <K2,​V2> Map<K2,​V2> emptyMapSupplier()
        Description copied from class: AbstractMultimap
        Returns an empty Map instance specific to the implementing class.
        Specified by:
        emptyMapSupplier in class AbstractMultimap<K,​V,​TreeMultimap<K,​V>>
        Type Parameters:
        K2 - Key type of the empty map
        V2 - Value type of the empty map
        Returns:
        An empty Map instance
      • emptyInstance

        protected <K2,​V2> TreeMultimap<K2,​V2> emptyInstance()
        Description copied from class: AbstractMultimap
        Returns an empty Multimap instance specific to the implementing class.
        Specified by:
        emptyInstance in class AbstractMultimap<K,​V,​TreeMultimap<K,​V>>
        Type Parameters:
        K2 - Key type of the empty multimap
        V2 - Value type of the empty multimap
        Returns:
        An empty Multimap instance
      • createFromMap

        protected <K2,​V2> TreeMultimap<K2,​V2> createFromMap​(@NonNull Map<K2,​Traversable<V2>> back)
        Description copied from class: AbstractMultimap
        Creates a new Multimap instance from the given backing map.
        Specified by:
        createFromMap in class AbstractMultimap<K,​V,​TreeMultimap<K,​V>>
        Type Parameters:
        K2 - Key type of the new multimap
        V2 - Value type of the new multimap
        Parameters:
        back - The backing map to create the multimap from
        Returns:
        A new Multimap instance containing the entries from the backing map
      • comparator

        public java.util.Comparator<K> comparator()
        Description copied from interface: Ordered
        Returns the comparator that governs the ordering of elements in this collection. The returned comparator must be consistent with the collection's iteration order.
        Specified by:
        comparator in interface Ordered<K>
        Returns:
        the comparator defining the element order
      • toJavaMap

        public java.util.SortedMap<K,​java.util.Collection<V>> toJavaMap()
        Description copied from interface: Multimap
        Converts this Vavr Map to a java.util.Map while preserving characteristics like insertion order (LinkedHashMultimap) and sort order (SortedMultimap).
        Specified by:
        toJavaMap in interface Multimap<K,​V>
        Specified by:
        toJavaMap in interface SortedMultimap<K,​V>
        Overrides:
        toJavaMap in class AbstractMultimap<K,​V,​TreeMultimap<K,​V>>
        Returns:
        a new java.util.Map instance