Package org.jivesoftware.util
Class CollectionUtils
- java.lang.Object
-
- org.jivesoftware.util.CollectionUtils
-
public class CollectionUtils extends Object
A utility class that provides re-usable functionality that relates to Java collections.- Author:
- Guus der Kinderen, guus.der.kinderen@gmail.com
-
-
Constructor Summary
Constructors Constructor Description CollectionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> Predicate<T>
distinctByKey(Function<? super T,Object> keyExtractor)
Returns a stateful stream filter that, once applied to a stream, returns a stream consisting of the distinct elements (according to the specified key).
-
-
-
Method Detail
-
distinctByKey
public static <T> Predicate<T> distinctByKey(Function<? super T,Object> keyExtractor)
Returns a stateful stream filter that, once applied to a stream, returns a stream consisting of the distinct elements (according to the specified key).The implementation of
Stream.distinct()
can be used to return a stream that has distinct elements, based on the implementation ofObject.equals(Object)
. That implementation does not allow to filter a stream based on one property of each object. The implementation of provided by this method does.- Type Parameters:
T
- Stream element type.- Parameters:
keyExtractor
- A function to extract the desired key from the stream objects (cannot be null).- Returns:
- A filter
- See Also:
- Stack Overflow: Java Lambda Stream Distinct() on arbitrary key?
-
-