类 Lists


  • public class Lists
    extends java.lang.Object
    Utils method for List
    • 构造器概要

      构造器 
      构造器 说明
      Lists()  
    • 方法概要

      所有方法 静态方法 具体方法 已过时的方法 
      修饰符和类型 方法 说明
      static <T> java.util.List<T> concat​(java.util.List<? extends T> list1, java.util.List<? extends T> list2, java.util.List<? extends T>... otherLists)
      Concat multi lists, to one new immutable List.
      static <T> java.util.List<T> concat​(java.util.List<T> list1, java.util.List<T> list2)
      Concat two lists, to one new immutable list.
      static <S,​T>
      java.util.List<T>
      convert​(java.util.Collection<S> list, java.util.function.Function<? super S,​? extends T> mapper)
      Convert origin list to new immutable List, the elements are converted by mapper.
      static <S,​T>
      java.util.List<T>
      convertTo​(java.util.List<S> list, java.util.function.Function<? super S,​? extends T> mapper)
      static <T> java.util.List<T> copy​(java.util.List<T> list)
      已过时。
      using List.copyOf(Collection)
      static <T> java.util.List<T> copyOf​(java.util.List<T> list)
      已过时。
      using List.copyOf(Collection)
      static <T> java.util.ArrayList<T> ensureArrayList​(java.util.List<T> list)
      If list is ArrayList, return list self; else copy the content of list to an ArrayList
      static <T> java.util.List<T> filter​(java.util.List<T> list, java.util.function.Predicate<? super T> predicate)
      Filter list, return a new list which contains the elements in origin list which accepted by predicate.
      static <T> java.util.Optional<T> find​(java.util.List<T> list, java.util.function.Predicate<? super T> predicate)
      Fetch the first element accepted by predicate in list.
      static <T> @Nullable T findOrNull​(java.util.List<T> list, java.util.function.Predicate<? super T> predicate)
      Fetch the first element accepted by predicate in list.
      static <T> java.util.Optional<T> first​(java.util.List<T> list)
      Fetch the first element of list.
      static <T> @Nullable T firstOrNull​(java.util.List<T> list)
      Fetch the first element of list.
      static <T> void forEachIndexed​(java.util.List<T> list, IndexedConsumer<? super T> consumer)
      Traverse on a list, with index for each element.
      static <T> void forEachLastAware​(java.util.List<T> list, LastAwareConsumer<? super T> consumer)
      Traverse on a list.
      static <T> java.util.List<T> generate​(int size, java.util.function.IntFunction<? extends T> valueMaker)
      Create immutable with size, and function to provide values.
      static <T> T getOneExactly​(java.util.List<T> list)
      Return the element in list, if list has one and only one element.
      static <T> boolean isNotEmpty​(@Nullable java.util.List<T> list)
      Return true if list is not null and has elements
      static <T> boolean isNullOrEmpty​(@Nullable java.util.List<T> list)
      Return true if list is null or empty
      static <T> java.util.Optional<T> last​(java.util.List<T> list)
      Fetch the last element of list.
      static <T> java.util.ArrayList<T> newArrayList()
      Create new empty ArrayList
      static <T> java.util.ArrayList<T> newArrayList​(int size, java.util.function.IntFunction<? extends T> valueMaker)
      Create new ArrayList with size, and function to provide values.
      static <T> java.util.ArrayList<T> newArrayList​(T v)
      Create new ArrayList.
      static <T> java.util.ArrayList<T> newArrayList​(T... values)
      Create new array List.
      static <T> java.util.ArrayList<T> newArrayList​(T v1, T v2)
      Create new ArrayList.
      static <T> java.util.ArrayList<T> newArrayList​(T v1, T v2, T v3)
      Create new ArrayList.
      static <T> java.util.ArrayList<T> newArrayList​(T v1, T v2, T v3, T v4)
      Create new ArrayList.
      static <T> java.util.ArrayList<T> newArrayList​(T v1, T v2, T v3, T v4, T v5)
      Create new ArrayList.
      static <T,​R extends java.util.List<T>>
      R
      newList​(java.util.function.Supplier<R> supplier, T... values)
      For easy list creation with initial values.
      static <T> java.util.List<T> nullToEmpty​(@Nullable java.util.List<T> list)
      If list is null, return immutable empty list; else return list self.
      static <T> java.util.List<T> of()
      已过时。
      using List.of()
      static <T> java.util.List<T> of​(T v)
      已过时。
      using List.of(Object)
      static <T> java.util.List<T> of​(T... values)
      已过时。
      using List.of(Object[])
      static <T> java.util.List<T> of​(T v1, T v2)
      已过时。
      using List.of(Object, Object)
      static <T> java.util.List<T> of​(T v1, T v2, T v3)
      已过时。
      using List.of(Object, Object, Object)
      static <T> java.util.List<T> of​(T v1, T v2, T v3, T v4)
      已过时。
      using List.of(Object, Object, Object, Object)
      static <T> java.util.List<T> of​(T v1, T v2, T v3, T v4, T v5)
      已过时。
      using List.of(Object, Object, Object, Object, Object)
      static <T> java.util.List<T> of​(T v1, T v2, T v3, T v4, T v5, T v6)
      已过时。
      using List.of(Object, Object, Object, Object, Object, Object, Object)
      static <T> PartitionResult<java.util.List<T>> partition​(java.util.List<T> list, java.util.function.Predicate<? super T> predicate)
      Divide list to two immutable Lists, the first list contains elements accepted by predicate, the other contains other elements.
      static <T> java.util.List<T> randomAccessed​(java.util.Collection<T> c)
      If collection is random access list, return it self; else return a new random access list contains the element from collection.
      static <T> java.util.List<T> reverse​(java.util.List<T> list)
      Return a new reversed immutable List.
      static <T> java.util.Optional<T> reverseFind​(java.util.List<T> list, java.util.function.Predicate<? super T> predicate)
      Fetch the last element of list.
      static <T,​R extends java.lang.Comparable<R>>
      java.util.List<T>
      sort​(java.util.List<? extends T> list, java.util.function.Function<? super T,​R> comparator)
      Return a new sorted immutable List, the element is compared by comparator.
      static <T extends java.lang.Comparable<T>>
      java.util.List<T>
      sort​(java.util.List<T> list)
      Return a new sorted immutable List.
      static <T> java.util.List<java.util.List<T>> split​(java.util.List<T> list, int subSize)
      Split list, into multi subLists, each subList has the specified subSize, except the last one.
      static <T> T[] toArray​(java.util.List<? extends T> list, java.util.function.IntFunction<T[]> maker)
      已过时。
      using Collection.toArray(IntFunction)
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造器详细资料

      • Lists

        public Lists()
    • 方法详细资料

      • nullToEmpty

        public static <T> java.util.List<T> nullToEmpty​(@Nullable java.util.List<T> list)
        If list is null, return immutable empty list; else return list self.
        类型参数:
        T - the element type
        参数:
        list - the list
        返回:
        non-null list
      • isNullOrEmpty

        public static <T> boolean isNullOrEmpty​(@Nullable java.util.List<T> list)
        Return true if list is null or empty
      • isNotEmpty

        public static <T> boolean isNotEmpty​(@Nullable java.util.List<T> list)
        Return true if list is not null and has elements
      • newArrayList

        public static <T> java.util.ArrayList<T> newArrayList()
        Create new empty ArrayList
      • newArrayList

        public static <T> java.util.ArrayList<T> newArrayList​(T v)
        Create new ArrayList.
      • newArrayList

        public static <T> java.util.ArrayList<T> newArrayList​(T v1,
                                                              T v2)
        Create new ArrayList.
      • newArrayList

        public static <T> java.util.ArrayList<T> newArrayList​(T v1,
                                                              T v2,
                                                              T v3)
        Create new ArrayList.
      • newArrayList

        public static <T> java.util.ArrayList<T> newArrayList​(T v1,
                                                              T v2,
                                                              T v3,
                                                              T v4)
        Create new ArrayList.
      • newArrayList

        public static <T> java.util.ArrayList<T> newArrayList​(T v1,
                                                              T v2,
                                                              T v3,
                                                              T v4,
                                                              T v5)
        Create new ArrayList.
      • newArrayList

        @SafeVarargs
        public static <T> java.util.ArrayList<T> newArrayList​(T... values)
        Create new array List.
      • newArrayList

        public static <T> java.util.ArrayList<T> newArrayList​(int size,
                                                              java.util.function.IntFunction<? extends T> valueMaker)
        Create new ArrayList with size, and function to provide values.
        类型参数:
        T - array element type
        参数:
        size - the list size
        valueMaker - provide array values
        返回:
        new ArrayList
      • ensureArrayList

        public static <T> java.util.ArrayList<T> ensureArrayList​(java.util.List<T> list)
        If list is ArrayList, return list self; else copy the content of list to an ArrayList
        返回:
        A ArrayList with same content as passed in list
      • newList

        @SafeVarargs
        public static <T,​R extends java.util.List<T>> R newList​(java.util.function.Supplier<R> supplier,
                                                                      T... values)
        For easy list creation with initial values.
        类型参数:
        T - element type
        参数:
        supplier - the list supplier
        values - the elements to add into list
        返回:
        the list
      • of

        @Deprecated
        public static <T> java.util.List<T> of()
        已过时。
        using List.of()
        Create new immutable empty List
      • of

        @Deprecated
        public static <T> java.util.List<T> of​(T v)
        已过时。
        using List.of(Object)
        Create new immutable List.
      • of

        @Deprecated
        public static <T> java.util.List<T> of​(T v1,
                                               T v2)
        已过时。
        using List.of(Object, Object)
        Create new immutable List.
      • of

        @Deprecated
        public static <T> java.util.List<T> of​(T v1,
                                               T v2,
                                               T v3)
        已过时。
        using List.of(Object, Object, Object)
        Create new immutable List.
      • of

        @Deprecated
        public static <T> java.util.List<T> of​(T v1,
                                               T v2,
                                               T v3,
                                               T v4)
        已过时。
        using List.of(Object, Object, Object, Object)
        Create new immutable List.
      • of

        @Deprecated
        public static <T> java.util.List<T> of​(T v1,
                                               T v2,
                                               T v3,
                                               T v4,
                                               T v5)
        已过时。
        using List.of(Object, Object, Object, Object, Object)
        Create new immutable List.
      • of

        @Deprecated
        public static <T> java.util.List<T> of​(T v1,
                                               T v2,
                                               T v3,
                                               T v4,
                                               T v5,
                                               T v6)
        已过时。
        using List.of(Object, Object, Object, Object, Object, Object, Object)
        Create new immutable List.
      • of

        @Deprecated
        @SafeVarargs
        public static <T> java.util.List<T> of​(T... values)
        已过时。
        using List.of(Object[])
        Create new immutable List.
      • generate

        public static <T> java.util.List<T> generate​(int size,
                                                     java.util.function.IntFunction<? extends T> valueMaker)
        Create immutable with size, and function to provide values.
        类型参数:
        T - array element type
        参数:
        size - the list size
        valueMaker - provide array values
        返回:
        the immutable List
      • copy

        @Deprecated
        public static <T> java.util.List<T> copy​(java.util.List<T> list)
        已过时。
        using List.copyOf(Collection)
        Return a new immutable list equals the origin list
        参数:
        list - cannot be null
      • copyOf

        @Deprecated
        public static <T> java.util.List<T> copyOf​(java.util.List<T> list)
        已过时。
        using List.copyOf(Collection)
        Return a new immutable list equals the origin list
        参数:
        list - cannot be null
      • convert

        public static <S,​T> java.util.List<T> convert​(java.util.Collection<S> list,
                                                            java.util.function.Function<? super S,​? extends T> mapper)
        Convert origin list to new immutable List, the elements are converted by mapper.
        参数:
        mapper - function to convert elements
        返回:
        list contains the result.
      • convertTo

        @Deprecated
        public static <S,​T> java.util.List<T> convertTo​(java.util.List<S> list,
                                                              java.util.function.Function<? super S,​? extends T> mapper)
        Convert origin list to new immutable List, the elements are converted by specific function.
        参数:
        mapper - function to convert elements
        返回:
        list contains the result.
      • filter

        public static <T> java.util.List<T> filter​(java.util.List<T> list,
                                                   java.util.function.Predicate<? super T> predicate)
        Filter list, return a new list which contains the elements in origin list which accepted by predicate.
        返回:
        new list
      • reverse

        public static <T> java.util.List<T> reverse​(java.util.List<T> list)
        Return a new reversed immutable List.
        类型参数:
        T - the element type
        参数:
        list - the list
        返回:
        reversed List
      • sort

        public static <T,​R extends java.lang.Comparable<R>> java.util.List<T> sort​(java.util.List<? extends T> list,
                                                                                         java.util.function.Function<? super T,​R> comparator)
        Return a new sorted immutable List, the element is compared by comparator.
        类型参数:
        T - the element type
        参数:
        list - the list
        comparator - the function to get Comparable values from list elements.
        返回:
        sorted List
      • sort

        public static <T extends java.lang.Comparable<T>> java.util.List<T> sort​(java.util.List<T> list)
        Return a new sorted immutable List.
        类型参数:
        T - the element type
        参数:
        list - the list
        返回:
        sorted List
      • concat

        public static <T> java.util.List<T> concat​(java.util.List<T> list1,
                                                   java.util.List<T> list2)
        Concat two lists, to one new immutable list.
        类型参数:
        T - element type
        参数:
        list1 - list1
        list2 - list2
        返回:
        new List
      • concat

        @SafeVarargs
        public static <T> java.util.List<T> concat​(java.util.List<? extends T> list1,
                                                   java.util.List<? extends T> list2,
                                                   java.util.List<? extends T>... otherLists)
        Concat multi lists, to one new immutable List.
        类型参数:
        T - element type
        参数:
        list1 - list1 first List to concat
        list2 - list2 second List to concat
        otherLists - other lists to concat
        返回:
        new List
      • split

        public static <T> java.util.List<java.util.List<T>> split​(java.util.List<T> list,
                                                                  int subSize)
        Split list, into multi subLists, each subList has the specified subSize, except the last one.
        返回:
        List of SubLists
      • partition

        public static <T> PartitionResult<java.util.List<T>> partition​(java.util.List<T> list,
                                                                       java.util.function.Predicate<? super T> predicate)
        Divide list to two immutable Lists, the first list contains elements accepted by predicate, the other contains other elements.
        参数:
        list - can not be null
        返回:
        two list
      • getOneExactly

        public static <T> T getOneExactly​(java.util.List<T> list)
                                   throws java.util.NoSuchElementException,
                                          TooManyElementsException
        Return the element in list, if list has one and only one element. Throw an exception otherwise.
        抛出:
        java.util.NoSuchElementException - if iterable has no element
        TooManyElementsException - if iterable has more than one element
      • first

        public static <T> java.util.Optional<T> first​(java.util.List<T> list)
        Fetch the first element of list. The element should not be null, or NullPointerException will be thrown.
        参数:
        list - can not be null
        返回:
        Optional
      • firstOrNull

        public static <T> @Nullable T firstOrNull​(java.util.List<T> list)
        Fetch the first element of list.
        参数:
        list - can not be null
        返回:
        The first element. If list is empty, return null.
      • last

        public static <T> java.util.Optional<T> last​(java.util.List<T> list)
        Fetch the last element of list. The element should not be null, or NullPointerException will be thrown.
        参数:
        list - can not be null
        返回:
        Optional
      • find

        public static <T> java.util.Optional<T> find​(java.util.List<T> list,
                                                     java.util.function.Predicate<? super T> predicate)
        Fetch the first element accepted by predicate in list. The element should not be null, or NullPointerException will be thrown.
        参数:
        list - can not be null
        返回:
        Optional
      • findOrNull

        public static <T> @Nullable T findOrNull​(java.util.List<T> list,
                                                 java.util.function.Predicate<? super T> predicate)
        Fetch the first element accepted by predicate in list.
        参数:
        list - can not be null
        返回:
        The first accepted element. If list is empty, return null.
      • reverseFind

        public static <T> java.util.Optional<T> reverseFind​(java.util.List<T> list,
                                                            java.util.function.Predicate<? super T> predicate)
        Fetch the last element of list. The element should not be null, or NullPointerException will be thrown.
        参数:
        list - can not be null
        返回:
        Optional
      • toArray

        @Deprecated
        public static <T> T[] toArray​(java.util.List<? extends T> list,
                                      java.util.function.IntFunction<T[]> maker)
        已过时。
        using Collection.toArray(IntFunction)
        Convert list to array. This method using method reference, work better than the API in Collection. Call this method as:
             List<String> list = Lists.of("1", "2", "3");
             String[] array = Lists.toArray(list, String[]::new);
         
        类型参数:
        T - element type
        参数:
        list - the list
        maker - create the target array
        返回:
        the target array containing elements in collection
      • forEachLastAware

        public static <T> void forEachLastAware​(java.util.List<T> list,
                                                LastAwareConsumer<? super T> consumer)
        Traverse on a list.
        类型参数:
        T - the data type
        参数:
        list - the list
        consumer - the consumer
      • forEachIndexed

        public static <T> void forEachIndexed​(java.util.List<T> list,
                                              IndexedConsumer<? super T> consumer)
        Traverse on a list, with index for each element.
        类型参数:
        T - the data type
        参数:
        list - the list
        consumer - the consumer
      • randomAccessed

        public static <T> java.util.List<T> randomAccessed​(java.util.Collection<T> c)
        If collection is random access list, return it self; else return a new random access list contains the element from collection. There is not guaranty whether returned list is immutable or not.
        类型参数:
        T - the element type
        参数:
        c - the list
        返回:
        a random accessed list