Class CartesianList<E>

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

    @GwtCompatible
    final class CartesianList<E>
    extends java.util.AbstractList<java.util.List<E>>
    implements java.util.RandomAccess
    Implementation of Lists.cartesianProduct(List).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private ImmutableList<java.util.List<E>> axes  
      private int[] axesSizeProduct  
      • Fields inherited from class java.util.AbstractList

        modCount
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean contains​(java.lang.Object o)  
      (package private) static <E> java.util.List<java.util.List<E>> create​(java.util.List<? extends java.util.List<? extends E>> lists)  
      ImmutableList<E> get​(int index)  
      private int getAxisIndexForProductIndex​(int index, int axis)  
      int indexOf​(java.lang.Object o)  
      int size()  
      • Methods inherited from class java.util.AbstractList

        add, add, addAll, clear, equals, hashCode, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
      • Methods inherited from class java.util.AbstractCollection

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

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

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

        forEach
      • Methods inherited from interface java.util.List

        addAll, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
    • Field Detail

      • axesSizeProduct

        private final transient int[] axesSizeProduct
    • Constructor Detail

      • CartesianList

        CartesianList​(ImmutableList<java.util.List<E>> axes)
    • Method Detail

      • create

        static <E> java.util.List<java.util.List<E>> create​(java.util.List<? extends java.util.List<? extends E>> lists)
      • getAxisIndexForProductIndex

        private int getAxisIndexForProductIndex​(int index,
                                                int axis)
      • indexOf

        public int indexOf​(java.lang.Object o)
        Specified by:
        indexOf in interface java.util.List<E>
        Overrides:
        indexOf in class java.util.AbstractList<java.util.List<E>>
      • get

        public ImmutableList<E> get​(int index)
        Specified by:
        get in interface java.util.List<E>
        Specified by:
        get in class java.util.AbstractList<java.util.List<E>>
      • size

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

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