取List类型对象中的某属性:
// 转换为List
List<String> tableNames=list.stream().map(User::getMessage).collect(Collectors.toList());
// 转换为数组并去重("distinct()")
Long ages= list.stream().map(User::getAge).distinct().toArray(Long[]::new);
根据List中类型对象某属性进行分组:
Map<String, List<User>> collect = list.stream()
.collect(Collectors.groupingBy(User::getUserId));
单列求和:
int totalValue = list.stream().mapToInt(User::getAge).sum();
BigDecimal 求和
BigDecimal totalMoney = appleList.stream().map(Apple::getMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal 两属性相乘 求和
BigDecimal totalMoney = appleList.stream().map(e -> e.getMoney().multiply(BigDecimal.valueOf(e.getNum()))).reduce(BigDecimal.ZERO, BigDecimal::add)
从list集合中查找是否存在某个值:
对象
list.stream().filter(m->m.getName().equals("尼古拉丁赵四")).findAny().isPresent();
String
list.stream().anyMatch(m->m.equals("张三")).findAny().isPresent();