- java.lang.Object
-
- net.dongliu.commons.collection.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)
已过时。usingList.copyOf(Collection)
static <T> java.util.List<T>
copyOf(java.util.List<T> list)
已过时。usingList.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 ArrayListstatic <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 elementsstatic <T> boolean
isNullOrEmpty(@Nullable java.util.List<T> list)
Return true if list is null or emptystatic <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 ArrayListstatic <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>>
RnewList(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()
已过时。usingList.of()
static <T> java.util.List<T>
of(T v)
已过时。usingList.of(Object)
static <T> java.util.List<T>
of(T... values)
已过时。usingList.of(Object[])
static <T> java.util.List<T>
of(T v1, T v2)
已过时。usingList.of(Object, Object)
static <T> java.util.List<T>
of(T v1, T v2, T v3)
已过时。usingList.of(Object, Object, Object)
static <T> java.util.List<T>
of(T v1, T v2, T v3, T v4)
已过时。usingList.of(Object, Object, Object, Object)
static <T> java.util.List<T>
of(T v1, T v2, T v3, T v4, T v5)
已过时。usingList.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)
已过时。usingList.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)
已过时。usingCollection.toArray(IntFunction)
-
-
-
方法详细资料
-
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 sizevalueMaker
- 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 suppliervalues
- the elements to add into list- 返回:
- the list
-
of
@Deprecated public static <T> java.util.List<T> of()
已过时。usingList.of()
Create new immutable empty List
-
of
@Deprecated public static <T> java.util.List<T> of(T v)
已过时。usingList.of(Object)
Create new immutable List.
-
of
@Deprecated public static <T> java.util.List<T> of(T v1, T v2)
已过时。usingList.of(Object, Object)
Create new immutable List.
-
of
@Deprecated public static <T> java.util.List<T> of(T v1, T v2, T v3)
已过时。usingList.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)
已过时。usingList.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)
已过时。usingList.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)
已过时。usingList.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)
已过时。usingList.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 sizevalueMaker
- provide array values- 返回:
- the immutable List
-
copy
@Deprecated public static <T> java.util.List<T> copy(java.util.List<T> list)
已过时。usingList.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)
已过时。usingList.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 listcomparator
- 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
- list1list2
- 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 concatlist2
- list2 second List to concatotherLists
- 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 elementTooManyElementsException
- 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)
已过时。usingCollection.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 listmaker
- 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 listconsumer
- 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 listconsumer
- 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
-
-