Class CollectionUtils



  • @API(status=INTERNAL,
         since="1.0")
    public final class CollectionUtils
    extends java.lang.Object
    Collection of utilities for working with Collections.

    DISCLAIMER

    These utilities are intended solely for usage within the JUnit framework itself. Any usage by external parties is not supported. Use at your own risk!

    Since:
    1.0
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> T getOnlyElement​(java.util.Collection<T> collection)
      Read the only element of a collection of size 1.
      static java.util.stream.Stream<?> toStream​(java.lang.Object object)
      Convert an object of one of the following supported types into a Stream.
      static <T> java.util.stream.Collector<T,?,java.util.List<T>> toUnmodifiableList​()
      Return a Collector that accumulates the input elements into a new unmodifiable list, in encounter order.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getOnlyElement

        public static <T> T getOnlyElement​(java.util.Collection<T> collection)
        Read the only element of a collection of size 1.
        Parameters:
        collection - the collection to get the element from
        Returns:
        the only element of the collection
        Throws:
        PreconditionViolationException - if the collection is null or does not contain exactly one element
      • toUnmodifiableList

        public static <T> java.util.stream.Collector<T,?,java.util.List<T>> toUnmodifiableList​()
        Return a Collector that accumulates the input elements into a new unmodifiable list, in encounter order.

        There are no guarantees on the type or serializability of the list returned, so if more control over the returned list is required, consider creating a new Collector implementation like the following:

         public static <T> Collector<T, ?, List<T>> toUnmodifiableList(Supplier<List<T>> listSupplier) {
             return Collectors.collectingAndThen(Collectors.toCollection(listSupplier), Collections::unmodifiableList);
         }
         
        Type Parameters:
        T - the type of the input elements
        Returns:
        a Collector which collects all the input elements into an unmodifiable list, in encounter order
      • toStream

        public static java.util.stream.Stream<?> toStream​(java.lang.Object object)
        Convert an object of one of the following supported types into a Stream.
        • Stream
        • DoubleStream
        • IntStream
        • LongStream
        • Collection
        • Iterable
        • Iterator
        • Object array
        Parameters:
        object - the object to convert into a stream; never null
        Returns:
        the resulting stream
        Throws:
        PreconditionViolationException - if the supplied object is null or not one of the supported types