- 将一个
List<T>
转为另一个List<K>
:
List<UserInfo> collect = list.stream()
.map(l -> new UserInfo(l.getId(), l.getUsername(), l.getPassword()))
.collect(Collectors.toList());
private static <E,T> List<T> copyList(List<E> source, Class<T> target){
return source.stream()
.map(s -> JSONObject.parseObject(JSONObject.toJSONString(s), target))
.collect(Collectors.toList());
}
List<Object>
去重-支持多个属性:
List<TestCommodity> cbList = testCommodityList
.stream()
.collect(
Collectors.collectingAndThen(
Collectors.toCollection(
() -> new TreeSet<>(
Comparator.comparing(
tc -> tc.getCode() + ";" + tc.getBarCode()))), ArrayList::new));
- 将
List<Object>
根据某个属性映射成对象:
Map<String, CoinInfo> map = newCoinList.stream().collect(Collectors.toMap(c -> c.getCoin(), item -> item));