Java8 常用的集合处理(stream()常用方法)

取List类型对象中的某属性:

// 转换为List
List tableNames=list.stream().map(User::getMessage).collect(Collectors.toList());


// 转换为数组并去重("distinct()")
Long ages= list.stream().map(User::getAge).distinct().toArray(Long[]::new);

根据List中类型对象某属性进行分组:

Map> 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);

 

从list集合中查找是否存在某个值:

对象

list.stream().filter(m->m.getName().equals("尼古拉丁赵四")).findAny().isPresent();

String

list.stream().anyMatch(m->m.equals("张三")).findAny().isPresent();

 

你可能感兴趣的:(Java8 常用的集合处理(stream()常用方法))