开发过程中我们经常使用Stream, 那么怎么将其结果转为其他的数据类型呢?
1. 转为 List
List<Integer> ageList = userList.stream().collect(Collectors.toList());
log.info("ageList: {}", ageList);
// ageList: [20, 15, 30, 30, 18]
2. 转为 Array
List<String> strings1 = Arrays.asList("Java", "Python", "PHP");
String[] strings3 = strings1.stream().toArray(String[]::new);
3. 转为 Map
Map<Integer, User> userIdToUserMap = userList.stream().collect(Collectors.toMap(User::getId, u -> u));
log.info("userIdToUserMap {}", userIdToUserMap);
4. 转为 Set
使用 set 实现数组去重
Set<String> collect = Stream.of("Java", "Python", "PHP", "C", "C++", "Java").collect(Collectors.toSet());
System.out.println(collect);
//[Java, C++, C, PHP, Python]