Class Collections2.OrderedPermutationCollection<E>

  • All Implemented Interfaces:
    java.lang.Iterable<java.util.List<E>>, java.util.Collection<java.util.List<E>>
    Enclosing class:
    Collections2

    private static final class Collections2.OrderedPermutationCollection<E>
    extends java.util.AbstractCollection<java.util.List<E>>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.util.Comparator<? super E> comparator  
      (package private) ImmutableList<E> inputList  
      (package private) int size  
    • Constructor Summary

      Constructors 
      Constructor Description
      OrderedPermutationCollection​(java.lang.Iterable<E> input, java.util.Comparator<? super E> comparator)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static <E> int calculateSize​(java.util.List<E> sortedInputList, java.util.Comparator<? super E> comparator)
      The number of permutations with repeated elements is calculated as follows: For an empty list, it is 1 (base case).
      boolean contains​(java.lang.Object obj)  
      boolean isEmpty()  
      java.util.Iterator<java.util.List<E>> iterator()  
      int size()  
      java.lang.String toString()  
      • Methods inherited from class java.util.AbstractCollection

        add, addAll, clear, containsAll, remove, removeAll, retainAll, toArray, toArray
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        equals, hashCode, parallelStream, removeIf, spliterator, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
    • Field Detail

      • comparator

        final java.util.Comparator<? super E> comparator
      • size

        final int size
    • Constructor Detail

      • OrderedPermutationCollection

        OrderedPermutationCollection​(java.lang.Iterable<E> input,
                                     java.util.Comparator<? super E> comparator)
    • Method Detail

      • calculateSize

        private static <E> int calculateSize​(java.util.List<E> sortedInputList,
                                             java.util.Comparator<? super E> comparator)
        The number of permutations with repeated elements is calculated as follows:
        • For an empty list, it is 1 (base case).
        • When r numbers are added to a list of n-r elements, the number of permutations is increased by a factor of (n choose r).
      • size

        public int size()
        Specified by:
        size in interface java.util.Collection<E>
        Specified by:
        size in class java.util.AbstractCollection<java.util.List<E>>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Collection<E>
        Overrides:
        isEmpty in class java.util.AbstractCollection<java.util.List<E>>
      • iterator

        public java.util.Iterator<java.util.List<E>> iterator()
        Specified by:
        iterator in interface java.util.Collection<E>
        Specified by:
        iterator in interface java.lang.Iterable<E>
        Specified by:
        iterator in class java.util.AbstractCollection<java.util.List<E>>
      • contains

        public boolean contains​(java.lang.Object obj)
        Specified by:
        contains in interface java.util.Collection<E>
        Overrides:
        contains in class java.util.AbstractCollection<java.util.List<E>>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.util.AbstractCollection<java.util.List<E>>