Class Bean{
private Long id;
private Long propertyA;
}
对象list 根据对象唯一值属性做key转Map:
例:
Bean中的id属性是uniqux属性
List<Bean> list = new ArrayList();
Map<Integer,Bean> unique=Maps.uniqueIndex(list ,Bean::getId);
list 根据泛型bean中的属性排序, x,y 比较大小 :
例:
List<Bean> list = new ArrayList();
list.sort((x,y)->Long.compare(x.getPropertyA(),y.getPropertyA()));
1.表达式中的Long.compare是根据排序属性的类型来使用的
2.即可正序排序也可倒叙排序,倒叙排序只需将后边的条件进行变换即可
对象list 根据对象唯一值属性做key,其他属性做value转Map:
例:
Map<Long,Long> map = list.stream().collect(Collectors.toMap(i->i.getId(),i->i.getPropertyA()));
对象list将获得某一属性的list:
例:
List<Long> list = beanList.stream().map(bean::getId).collect(Collectors.toList());
同理获取set
Set<Long> list = beanList.stream().map(bean::getId).collect(Collectors.toSet());
对象list根据属性分组成Map:
例:
Map<Integer, List<Bean>> groupBy = list.stream().collect(Collectors.groupingBy(Bean::getPropertyA));
网友评论