1、List<object> —— List<Long>
List<Object> alist
List<Long> aId
aId=alist.stream.map(u→u.getId()).collect(Collectors.toList());
2、List<object> —— Map<Long,String>
Map<Long
,
String> aaMap = aaPOS.stream().collect(Collectors.toMap(aaPO::getId
,
ThroughputPO::getName))
;
3、List<Object> ——Map<Long,Object>
Map<Long
,
GoodsBasePO> goodsMap = goodsBasePOS.stream().collect(Collectors.toMap(GoodsBasePO::getSkuId
,
goodsBasePO
->goodsBasePO))
;
/**
* List -> Map
* 需要注意的是:
* toMap 如果集合对象有重复的key,会报错Duplicate key ....
* apple1,apple12的id都为1。
* 可以用 (k1,k2)->k1 来设置,如果有重复的key,则保留key1,舍弃key2
*/
Map<Integer, Apple> appleMap = appleList.stream().collect(Collectors.toMap(Apple::getId, a -> a,(k1,k2)→k1));
4、List转为Map并聚合
Map<Integer, List<User>> groupBy = appleList.stream().collect(Collectors.groupingBy(User::getAge)); //根据某一属性聚合
5、集合遍历
List<User> userList; //User内包含List<Teacher>
List<Teacher> teachers = new ArrayList<>();
userList.forEach(e->