Class CollectionPartitioner


  • public final class CollectionPartitioner
    extends Object
    Utils class used to partition collection based on key extractor
    • Constructor Detail

      • CollectionPartitioner

        public CollectionPartitioner()
    • Method Detail

      • canPartition

        public static <O> boolean canPartition​(Collection<O> collection,
                                               Function<O,​Serializable> keyExtractor)
        Checks if collection can be partitioned using key extracted using provided keyExtractor
        Type Parameters:
        O - objects generic type
        Parameters:
        collection - collection to partition
        keyExtractor - key extractor used to extract keys from items in collection
        Returns:
        true if collection can be partitioned
      • buildPartition

        public static <O> Map<Serializable,​O> buildPartition​(Collection<O> collection,
                                                                   Function<O,​Serializable> keyExtractor)
        Builds partition of collection using keyExtractor.

        Partitioning is successful if all keys extracted from items in collection are unique and nonnull. If more than one item has the same key, only the first item will exist in result partition.

        Use canPartition(Collection, Function) to check if collection can be partitioned.

        Type Parameters:
        O - objects generic type
        Parameters:
        collection - collection to partition
        keyExtractor - key extractor used to extract keys from items in collection
        Returns:
        map with collection items as values and it's keys as keys