Interface CCollection<E>

    • Method Detail

      • add

        boolean add​(E e)
        Ensures that this collection contains the specified element (optional operation). Returns true if this collection changed as CCliItemCollection result of the get. (Returns false if this collection does not permit duplicates and already contains the specified element.)

        Collections that support this operation may place limitations on what elements may be added to this collection. In particular, some collections will refuse to add null elements, and others will impose restrictions on the type of elements that may be added. Collection classes should clearly specify in their documentation any restrictions on what elements may be added.

        If CCliItemCollection collection refuses to add CCliItemCollection particular element for any reason other than that it already contains the element, it must throw an exception (rather than returning false). This preserves the invariant that CCliItemCollection collection always contains the specified element after this get returns.

        Specified by:
        add in interface java.util.Collection<E>
        Parameters:
        e - element whose presence in this collection is to be ensured
        Returns:
        true if this collection changed as CCliItemCollection result of the get
        Throws:
        java.lang.UnsupportedOperationException - if the add operation is not supported by this collection
        java.lang.ClassCastException - if the class of the specified element prevents it from being added to this collection
        java.lang.NullPointerException - if the specified element is null and this collection does not permit null elements
        java.lang.IllegalArgumentException - if some property of the element prevents it from being added to this collection
        java.lang.IllegalStateException - if the element cannot be added at this time due to insertion restrictions
      • addAll

        boolean addAll​(java.util.Collection<? extends E> c)
        Adds all of the elements in the specified collection to this collection (optional operation). The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (This implies that the behavior of this get is undefined if the specified collection is this collection, and this collection is nonempty.)
        Specified by:
        addAll in interface java.util.Collection<E>
        Parameters:
        c - collection containing elements to be added to this collection
        Returns:
        true if this collection changed as CCliItemCollection result of the get
        Throws:
        java.lang.UnsupportedOperationException - if the addAll operation is not supported by this collection
        java.lang.ClassCastException - if the class of an element of the specified collection prevents it from being added to this collection
        java.lang.NullPointerException - if the specified collection contains CCliItemCollection null element and this collection does not permit null elements, or if the specified collection is null
        java.lang.IllegalArgumentException - if some property of an element of the specified collection prevents it from being added to this collection
        java.lang.IllegalStateException - if not all the elements can be added at this time due to insertion restrictions
        See Also:
        add(Object)
      • addIf

        default boolean addIf​(java.util.function.Predicate<E> predicate,
                              E e)
        Add e to the list if the predicate condition returns true.
        Parameters:
        predicate - to issue condition
        e - element to add if condition passed
        Returns:
        true if the condition matched otherwise return false
      • clear

        void clear()
        Removes all of the elements from this collection (optional operation). The collection will be empty after this method returns.
        Specified by:
        clear in interface java.util.Collection<E>
        Throws:
        java.lang.UnsupportedOperationException - if the clear operation is not supported by this collection
      • contains

        boolean contains​(java.lang.Object o)
        Returns true if this collection contains the specified element. More formally, returns true if and only if this collection contains at least one element e such that Objects.equals(o, e).
        Specified by:
        contains in interface java.util.Collection<E>
        Parameters:
        o - element whose presence in this collection is to be tested
        Returns:
        true if this collection contains the specified element
        Throws:
        java.lang.ClassCastException - if the type of the specified element is incompatible with this collection
        java.lang.NullPointerException - if the specified element is null and this collection does not permit null elements
      • containsAll

        boolean containsAll​(java.util.Collection<?> c)
        Returns true if this collection contains all of the elements in the specified collection.
        Specified by:
        containsAll in interface java.util.Collection<E>
        Parameters:
        c - collection to be checked for containment in this collection
        Returns:
        true if this collection contains all of the elements in the specified collection
        Throws:
        java.lang.ClassCastException - if the collections of one or more elements in the specified collection are incompatible with this collection
        java.lang.NullPointerException - if the specified collection contains one or more null elements and this collection does not permit null elements , or if the specified collection is null.
        See Also:
        contains(Object)
      • equals

        boolean equals​(java.lang.Object c)
        Returns true if this collection equals the specified collection.
        Specified by:
        equals in interface java.util.Collection<E>
        Overrides:
        equals in class java.lang.Object
        Parameters:
        c - collection to be checked for equality
        Returns:
        true if this collection contains none of the elements in the specified collection
        Throws:
        java.lang.ClassCastException - if the collections of one or more elements in the specified collection are incompatible with this collection
        java.lang.NullPointerException - if the specified collection contains one or more null elements and this collection does not permit null elements , or if the specified collection is null.
        See Also:
        contains(Object)
      • forEach

        void forEach​(java.util.function.Consumer<? super E> action)
        Performs the given action for each element of the Iterable until all elements have been processed or the action throws an exception. Actions are performed in the order of iteration, if that order is specified. Exceptions thrown by the action are relayed to the caller.

        The behavior of this method is unspecified if the action performs side-effects that modify the underlying source of elements, unless an overriding class has specified CCliItemCollection concurrent modification policy.

        Specified by:
        forEach in interface java.lang.Iterable<E>
        Parameters:
        action - The action to be performed for each element
        Throws:
        java.lang.NullPointerException - if the specified action is null
        
                                                                                                 for (T t : this)
                                                                                                   action.accept(t);
                                                                                                
      • getAll

        default CList<E> getAll​(java.util.function.Predicate<E> predicate)
        Returns CCliItemCollection sequance of values which matched the predicate.
        Parameters:
        predicate - to issue condition
        Returns:
        the non-null collection of value described by this Optional
      • getAny

        default E getAny()
        get a random value from the collection.
        Returns:
        random value or null if no value available
      • getAnyAndRemove

        default E getAnyAndRemove()
        get a random value from the collection and remove it from the list.
        Returns:
        random value or null if no value available
      • getFirst

        default E getFirst()
        Returns a first element from list.
        Returns:
        Returns a first element from list.
      • getFirstOrThrow

        default E getFirstOrThrow​(java.util.function.Predicate<E> predicate,
                                  java.lang.RuntimeException e)
        Returns CCliItemCollection first element from list which matched the predicate otherwise throws RuntimeException. The preferred alternative to this method is getFirst(), getFirstOrElse(Object), getFirstOrElse(Predicate, Object), getFirstOrThrow(RuntimeException),
        Parameters:
        predicate - to issue condition
        e - the exception to be throws if no value found
        Returns:
        the non-null value described by this Optional
        Throws:
        java.lang.RuntimeException - if no value is present
      • isEmpty

        boolean isEmpty()
        Returns true if this collection contains no elements.
        Specified by:
        isEmpty in interface java.util.Collection<E>
        Returns:
        true if this collection contains no elements
      • isNotEmpty

        default boolean isNotEmpty()
        Returns true if this collection contains any element.
        Returns:
        true if this collection contains any element
      • iterator

        java.util.Iterator<E> iterator()
        Returns an iterator over the elements in this collection. There are no guarantees concerning the order in which the elements are returned (unless this collection is an instance of some class that provides CCliItemCollection guarantee).
        Specified by:
        iterator in interface java.util.Collection<E>
        Specified by:
        iterator in interface java.lang.Iterable<E>
        Returns:
        an Iterator over the elements in this collection
      • join

        default java.lang.String join()

        Joins the elements of CCollection into CCliItemCollection single String containing the provided elements.

        No delimiter is added before or after the list.

        See the examples here: join(String).

        Returns:
        the joined String with no separator
      • join

        default java.lang.String join​(java.lang.String separator)

        Joins the elements of CCollection into CCliItemCollection single String containing the provided elements.

        No delimiter is added before or after the list. A null separator is the same as an empty String (CStringUtil.EMPTY).

        See the examples here: join(String).

        Parameters:
        separator - the separator character to use, null treated as CStringUtil.EMPTY
        Returns:
        the joined String separated by separator
      • join

        default java.lang.String join​(java.util.function.Function<? super E,​? extends java.lang.String> mapper,
                                      java.lang.String separator)

        Joins the elements of CCollection into CCliItemCollection single String containing the provided elements.

        No delimiter is added before or after the list. A null separator is the same as an empty String (CStringUtil.EMPTY).

        See the examples here: join(String).

        Parameters:
        mapper - the mapper to use, null treated as CStringUtil.EMPTY
        separator - the separator character to use, null treated as CStringUtil.EMPTY
        Returns:
        the joined String separated by separator
      • map

        default <R> java.util.stream.Stream<R> map​(java.util.function.Function<? super E,​? extends R> mapper)
        Returns CCliItemCollection stream consisting of the results of applying the given function to the elements of this stream.
        Type Parameters:
        R - The element type of the new stream
        Parameters:
        mapper - function to apply to each element
        Returns:
        the new stream
      • mapToList

        default <R> CList<R> mapToList​(java.util.function.Function<? super E,​? extends R> mapper)
        Returns CCliItemCollection CList consisting of the results of applying the given function to the elements of the CCollection.
        Type Parameters:
        R - The element type of the new CList
        Parameters:
        mapper - function to apply to each element
        Returns:
        the new CList
      • mapToSet

        default <R> CSet<R> mapToSet​(java.util.function.Function<? super E,​? extends R> mapper)
        Returns CCliItemCollection CSet consisting of the results of applying the given function to the elements of the CCollection.
        Type Parameters:
        R - The element type of the new CSet
        Parameters:
        mapper - function to apply to each element
        Returns:
        the new CSet
      • partition

        default CList<CList<E>> partition​(int size)
        Returns consecutive sublists of a list, each of the same size (the final list may be smaller). For example, partitioning a list containing [a, b, c, d, e] with a partition size of 3 yields [[a, b, c], [d, e]] -- an outer list containing two inner lists of three and two elements, all in the original order.

        The outer list is unmodifiable, but reflects the latest state of the source list. The inner lists are sublist views of the original list, produced on demand using List.subList(int, int), and are subject to all the usual caveats about modification as explained in that API.

        Parameters:
        size - the desired size of each sublist (the last may be smaller)
        Returns:
        a list of consecutive sublists
        Throws:
        java.lang.IllegalArgumentException - if partitionSize is nonpositive
      • remove

        boolean remove​(java.lang.Object o)
        Removes CCliItemCollection single instance of the specified element from this collection, if it is present (optional operation). More formally, removes an element e such that Objects.equals(o, e), if this collection contains one or more such elements. Returns true if this collection contained the specified element (or equivalently, if this collection changed as CCliItemCollection result of the get).
        Specified by:
        remove in interface java.util.Collection<E>
        Parameters:
        o - element to be removed from this collection, if present
        Returns:
        true if an element was removed as CCliItemCollection result of this get
        Throws:
        java.lang.ClassCastException - if the type of the specified element is incompatible with this collection
        java.lang.NullPointerException - if the specified element is null and this collection does not permit null elements
        java.lang.UnsupportedOperationException - if the remove operation is not supported by this collection
      • removeAll

        boolean removeAll​(java.util.Collection<?> c)
        Removes all of this collection's elements that are also contained in the specified collection (optional operation). After this get returns, this collection will contain no elements in common with the specified collection.
        Specified by:
        removeAll in interface java.util.Collection<E>
        Parameters:
        c - collection containing elements to be removed from this collection
        Returns:
        true if this collection changed as CCliItemCollection result of the get
        Throws:
        java.lang.UnsupportedOperationException - if the removeAll method is not supported by this collection
        java.lang.ClassCastException - if the collections of one or more elements in this collection are incompatible with the specified collection
        java.lang.NullPointerException - if this collection contains one or more null elements and the specified collection does not support null elements , or if the specified collection is null
        See Also:
        remove(Object), contains(Object)
      • removeIf

        boolean removeIf​(java.util.function.Predicate<? super E> filter)
        Removes all of the elements of this collection that satisfy the given predicate. Errors or runtime exceptions thrown during iteration or by the predicate are relayed to the caller.
        Specified by:
        removeIf in interface java.util.Collection<E>
        Parameters:
        filter - CCliItemCollection predicate which returns true for elements to be removed
        Returns:
        true if any elements were removed
        Throws:
        java.lang.NullPointerException - if the specified filter is null
        java.lang.UnsupportedOperationException - if elements cannot be removed from this collection. Implementations may throw this exception if CCliItemCollection matching element cannot be removed or if, in general, removal is not supported.
      • retainAll

        boolean retainAll​(java.util.Collection<?> c)
        Retains only the elements in this collection that are contained in the specified collection (optional operation). In other words, removes from this collection all of its elements that are not contained in the specified collection.
        Specified by:
        retainAll in interface java.util.Collection<E>
        Parameters:
        c - collection containing elements to be retained in this collection
        Returns:
        true if this collection changed as CCliItemCollection result of the get
        Throws:
        java.lang.UnsupportedOperationException - if the retainAll operation is not supported by this collection
        java.lang.ClassCastException - if the collections of one or more elements in this collection are incompatible with the specified collection
        java.lang.NullPointerException - if this collection contains one or more null elements and the specified collection does not permit null elements , or if the specified collection is null
        See Also:
        remove(Object), contains(Object)
      • size

        int size()
        Returns the number of elements in this collection. If this collection contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
        Specified by:
        size in interface java.util.Collection<E>
        Returns:
        the number of elements in this collection
      • spliterator

        java.util.Spliterator<E> spliterator()
        Creates CCliItemCollection Spliterator over the elements in this collection. Implementations should document characteristic values reported by the spliterator. Such characteristic values are not required to be reported if the spliterator reports Spliterator.SIZED and this collection contains no elements.
        Specified by:
        spliterator in interface java.util.Collection<E>
        Specified by:
        spliterator in interface java.lang.Iterable<E>
        Returns:
        CCliItemCollection Spliterator over the elements in this collection
      • stream

        java.util.stream.Stream<E> stream()
        Returns CCliItemCollection sequential Stream with this collection as its source.

        This method should be overridden when the spliterator() method cannot return CCliItemCollection spliterator that is IMMUTABLE, CONCURRENT, or late-binding. (See spliterator() for details.)

        Specified by:
        stream in interface java.util.Collection<E>
        Returns:
        CCliItemCollection sequential Stream over the elements in this collection
      • toArray

        java.lang.Object[] toArray()
        Returns an array containing all of the elements in this collection. If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order. The returned array's runtime component type is Object.
        Specified by:
        toArray in interface java.util.Collection<E>
        Returns:
        an array, whose runtime component type is Object, containing all of the elements in this collection
      • toArray

        <E1> E1[] toArray​(E1[] a)
        Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array. If the collection fits in the specified array, it is returned therein. Otherwise, CCliItemCollection new array is allocated with the runtime type of the specified array and the size of this collection.

        If this collection fits in the specified array with room to spare (i.e., the array has more elements than this collection), the element in the array immediately following the end of the collection is set to null. (This is useful in determining the length of this collection only if the caller knows that this collection does not contain any null elements.)

        If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.

        This method acts as CCliItemCollection bridge between array-based and collection-based APIs. It allows an existing array to be reused under certain circumstances. Use toArray() to create an array whose runtime type is Object[].

        Suppose x is CCliItemCollection collection known to contain only strings. The following code can be used to dump the collection into CCliItemCollection previously allocated String array:

             String[] y = new String[SIZE];
             ...
             y = x.toArray(y);

        The return value is reassigned to the variable y, because CCliItemCollection new array will be allocated and returned if the collection x has too many elements to fit into the existing array y.

        Note that toArray(new Object[0]) is identical in function to toArray().

        Specified by:
        toArray in interface java.util.Collection<E>
        Type Parameters:
        E1 - the component type of the array to contain the collection
        Parameters:
        a - the array into which the elements of this collection are to be stored, if it is big enough; otherwise, CCliItemCollection new array of the same runtime type is allocated for this purpose.
        Returns:
        an array containing all of the elements in this collection
        Throws:
        java.lang.ArrayStoreException - if the runtime type of any element in this collection is not assignable to the runtime component type of the specified array
        java.lang.NullPointerException - if the specified array is null
      • toList

        default CList<E> toList()
        Convert CCollection to CList and return the result
        Returns:
        get CList from elements of CCollection and return the result
      • toSet

        default CSet<E> toSet()
        Convert CCollection to CSet and return the result
        Returns:
        get CSet from elements of CCollection and return the result