public class ListUtil extends Object
Constructor and Description |
---|
ListUtil() |
Modifier and Type | Method and Description |
---|---|
static <T> List<T> |
empty()
获取一个空List
|
static <T> List<T> |
filter(List<T> list,
Editor<T> editor)
过滤
过滤过程通过传入的Editor实现来返回需要的元素内容,这个Editor实现可以实现以下功能: |
static <T> int[] |
indexOfAll(List<T> list,
Matcher<T> matcher)
获取匹配规则定义中匹配到元素的所有位置
|
static <T> List<T> |
list(boolean isLinked)
新建一个空List
|
static <T> List<T> |
list(boolean isLinked,
Collection<T> collection)
新建一个List
|
static <T> List<T> |
list(boolean isLinked,
Enumeration<T> enumration)
新建一个List
提供的参数为null时返回空 ArrayList |
static <T> List<T> |
list(boolean isLinked,
Iterable<T> iterable)
新建一个List
提供的参数为null时返回空 ArrayList |
static <T> List<T> |
list(boolean isLinked,
Iterator<T> iter)
新建一个ArrayList
提供的参数为null时返回空 ArrayList |
static <T> List<T> |
list(boolean isLinked,
T... values)
新建一个List
|
static <T> List<T> |
of(T... ts)
数组转为一个不可变List
类似于Java9中的List.of |
static <T> List<T> |
page(int pageNo,
int pageSize,
List<T> list)
对指定List分页取值
|
static <T> List<T> |
reverse(List<T> list)
反序给定List,会在原List基础上直接修改
|
static <T> List<T> |
reverseNew(List<T> list)
反序给定List,会创建一个新的List,原List数据不变
|
static <T> List<T> |
setOrAppend(List<T> list,
int index,
T element)
设置或增加元素。当index小于List的长度时,替换指定位置的值,否则在尾部追加
|
static <T> List<T> |
sort(List<T> list,
Comparator<? super T> c)
针对List排序,排序会修改原List
|
static List<String> |
sortByPinyin(List<String> list)
根据汉字的拼音顺序排序
|
static <T> List<T> |
sortByProperty(List<T> list,
String property)
根据Bean的属性排序
|
static <T> List<List<T>> |
split(List<T> list,
int size)
对集合按照指定长度分段,每一个段为单独的集合,返回这个集合的列表
|
static <T> List<T> |
sub(List<T> list,
int start,
int end)
截取集合的部分
|
static <T> List<T> |
sub(List<T> list,
int start,
int end,
int step)
截取集合的部分
此方法与 List.subList(int, int) 不同在于子列表是新的副本,操作子列表不会影响原列表。 |
static <T> CopyOnWriteArrayList<T> |
toCopyOnWriteArrayList(Collection<T> collection)
新建一个CopyOnWriteArrayList
|
static <T> LinkedList<T> |
toLinkedList(T... values)
新建LinkedList
|
static <T> ArrayList<T> |
toList(Collection<T> collection)
新建一个ArrayList
|
static <T> ArrayList<T> |
toList(Enumeration<T> enumeration)
新建一个ArrayList
提供的参数为null时返回空 ArrayList |
static <T> ArrayList<T> |
toList(Iterable<T> iterable)
新建一个ArrayList
提供的参数为null时返回空 ArrayList |
static <T> ArrayList<T> |
toList(Iterator<T> iterator)
新建一个ArrayList
提供的参数为null时返回空 ArrayList |
static <T> ArrayList<T> |
toList(T... values)
新建一个ArrayList
|
static <T> List<T> |
unmodifiable(List<T> list)
将对应List转换为不可修改的List
|
public static <T> List<T> list(boolean isLinked)
T
- 集合元素类型isLinked
- 是否新建LinkedList@SafeVarargs public static <T> List<T> list(boolean isLinked, T... values)
T
- 集合元素类型isLinked
- 是否新建LinkedListvalues
- 数组public static <T> List<T> list(boolean isLinked, Collection<T> collection)
T
- 集合元素类型isLinked
- 是否新建LinkedListcollection
- 集合public static <T> List<T> list(boolean isLinked, Iterable<T> iterable)
ArrayList
T
- 集合元素类型isLinked
- 是否新建LinkedListiterable
- Iterable
public static <T> List<T> list(boolean isLinked, Iterator<T> iter)
ArrayList
T
- 集合元素类型isLinked
- 是否新建LinkedListiter
- Iterator
public static <T> List<T> list(boolean isLinked, Enumeration<T> enumration)
ArrayList
T
- 集合元素类型isLinked
- 是否新建LinkedListenumration
- Enumeration
@SafeVarargs public static <T> ArrayList<T> toList(T... values)
T
- 集合元素类型values
- 数组@SafeVarargs public static <T> LinkedList<T> toLinkedList(T... values)
T
- 类型values
- 数组@SafeVarargs public static <T> List<T> of(T... ts)
T
- 对象类型ts
- 对象public static <T> CopyOnWriteArrayList<T> toCopyOnWriteArrayList(Collection<T> collection)
T
- 集合元素类型collection
- 集合CopyOnWriteArrayList
public static <T> ArrayList<T> toList(Collection<T> collection)
T
- 集合元素类型collection
- 集合public static <T> ArrayList<T> toList(Iterable<T> iterable)
ArrayList
T
- 集合元素类型iterable
- Iterable
public static <T> ArrayList<T> toList(Iterator<T> iterator)
ArrayList
T
- 集合元素类型iterator
- Iterator
public static <T> ArrayList<T> toList(Enumeration<T> enumeration)
ArrayList
T
- 集合元素类型enumeration
- Enumeration
public static <T> List<T> page(int pageNo, int pageSize, List<T> list)
T
- 集合元素类型pageNo
- 页码,第一页的页码取决于PageUtil.getFirstPageNo()
,默认0pageSize
- 每页的条目数list
- 列表public static <T> List<T> sort(List<T> list, Comparator<? super T> c)
T
- 元素类型list
- 被排序的Listc
- Comparator
Collections.sort(List, Comparator)
public static <T> List<T> sortByProperty(List<T> list, String property)
T
- 元素类型list
- Listproperty
- 属性名public static List<String> sortByPinyin(List<String> list)
list
- Listpublic static <T> List<T> reverse(List<T> list)
T
- 元素类型list
- 被反转的Listpublic static <T> List<T> reverseNew(List<T> list)
T
- 元素类型list
- 被反转的Listpublic static <T> List<T> setOrAppend(List<T> list, int index, T element)
T
- 元素类型list
- List列表index
- 位置element
- 新元素public static <T> List<T> sub(List<T> list, int start, int end)
T
- 集合元素类型list
- 被截取的数组start
- 开始位置(包含)end
- 结束位置(不包含)public static <T> List<T> sub(List<T> list, int start, int end, int step)
List.subList(int, int)
不同在于子列表是新的副本,操作子列表不会影响原列表。T
- 集合元素类型list
- 被截取的数组start
- 开始位置(包含)end
- 结束位置(不包含)step
- 步进public static <T> List<T> filter(List<T> list, Editor<T> editor)
1、过滤出需要的对象,如果返回null表示这个元素对象抛弃 2、修改元素对象,返回集合中为修改后的对象
T
- 集合元素类型list
- 集合editor
- 编辑器接口public static <T> int[] indexOfAll(List<T> list, Matcher<T> matcher)
T
- 元素类型list
- 列表matcher
- 匹配器,为空则全部匹配public static <T> List<T> unmodifiable(List<T> list)
T
- 元素类型list
- Listpublic static <T> List<T> empty()
T
- 元素类型public static <T> List<List<T>> split(List<T> list, int size)
需要特别注意的是,此方法调用List.subList(int, int)
切分List,
此方法返回的是原List的视图,也就是说原List有变更,切分后的结果也会变更。
T
- 集合元素类型list
- 列表size
- 每个段的长度Copyright © 2021. All rights reserved.