Class Views


  • public class Views
    extends Object
    Collections utils, which provide transforming views for List and Map.
    Author:
    Pavel Bucek
    • Method Detail

      • listView

        public static <T,​R> List<T> listView​(List<R> originalList,
                                                   Function<R,​T> transformer)
        Create a List view, which transforms the values of provided original list.

        Removing elements from the view is supported, adding and setting isn't and throws UnsupportedOperationException when invoked.

        Type Parameters:
        T - transformed type parameter.
        R - type of the element from provided list.
        Parameters:
        originalList - original list.
        transformer - transforming functions.
        Returns:
        transformed list view.
      • mapView

        public static <K,​V,​O> Map<K,​V> mapView​(Map<K,​O> originalMap,
                                                                 Function<O,​V> valuesTransformer)
        Create a Map view, which transforms the values of provided original map.

        Removing elements from the map view is supported, adding and setting isn't and throws UnsupportedOperationException when invoked.

        Type Parameters:
        K - key type.
        V - transformed value type.
        O - original value type.
        Parameters:
        originalMap - provided map.
        valuesTransformer - values transformer.
        Returns:
        transformed map view.
      • setUnionView

        public static <E> Set<E> setUnionView​(Set<? extends E> set1,
                                              Set<? extends E> set2)
        Create a view of an union of provided sets.

        View is updated whenever any of the provided set changes.

        Type Parameters:
        E - set item type.
        Parameters:
        set1 - first set.
        set2 - second set.
        Returns:
        union view of given sets.
      • setDiffView

        public static <E> Set<E> setDiffView​(Set<? extends E> set1,
                                             Set<? extends E> set2)
        Create a view of a difference of provided sets.

        View is updated whenever any of the provided set changes.

        Type Parameters:
        E - set item type.
        Parameters:
        set1 - first set.
        set2 - second set.
        Returns:
        union view of given sets.