Collector.Characteristics

  • Collector.Characteristics is an enum that provides properties for optimizing stream reduction implementations.

  • It inherits methods from Enum, Object, and Comparable, offering functionalities like comparison, hash code generation, and more.

  • The enum includes values like CONCURRENT, IDENTITY_FINISH, and UNORDERED, which indicate specific properties of the collector.

  • CONCURRENT collectors can be used with parallel streams when the data source is unordered or the collector is also UNORDERED.

  • IDENTITY_FINISH signifies that the finisher function is unnecessary and an implicit cast from the accumulator type to the result type is safe.

public static final enum Collector.Characteristics extends Enum<Collector.Characteristics>

Characteristics indicating properties of a Collector, which can be used to optimize reduction implementations.

Inherited Method Summary

Enum Values

public static final Collector.Characteristics CONCURRENT

Indicates that this collector is concurrent, meaning that the result container can support the accumulator function being called concurrently with the same result container from multiple threads.

If a CONCURRENT collector is not also UNORDERED, then it should only be evaluated concurrently if applied to an unordered data source.

public static final Collector.Characteristics IDENTITY_FINISH

Indicates that the finisher function is the identity function and can be elided. If set, it must be the case that an unchecked cast from A to R will succeed.

public static final Collector.Characteristics UNORDERED

Indicates that the collection operation does not commit to preserving the encounter order of input elements. (This might be true if the result container has no intrinsic order, such as a Set.)