在开发过程中,经常会对list进行遍历操作,有时候操作后也需要返回List。
这时候可以使用java8的 stream map进行操作。如下面的示例说明

具体应用1

/* addressList是一个地址列表,把实体数据都转换成dto数据。返回给addressDTOList */
List<AddressDTO> addressDTOList = addressList.stream().map(item->addressMapper.entityToDto(item)).collect(Collectors.toList());

具体应用2

/* 将字符串转换成大写 */
List<String> alpha = Arrays.asList("a", "b", "c", "d");

// Java8之前的写法
List<String> alphaUpper = new ArrayList<>();
for (String s : alpha) {
    alphaUpper.add(s.toUpperCase());
}
System.out.println(alpha); //[a, b, c, d]
System.out.println(alphaUpper); //[A, B, C, D]
 
// Java8之后的写法       
List<String> collect = alpha.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(collect); //[A, B, C, D]

// 其他数据类型的应用
List<Integer> num = Arrays.asList(1,2,3,4,5);
List<Integer> collect1 = num.stream().map(n -> n * 2).collect(Collectors.toList());
System.out.println(collect1); //[2, 4, 6, 8, 10]

Guoye
318 声望9 粉丝

引用和评论

0 条评论