在开发过程中,经常会对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]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。