在开发过程中,经常会对 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]