规范之“用流中的Stream.Of(arr1,arr2)将两个集合合并”
案例:用流中的Stream.Of(arr1,arr2)将两个集合合并
/**
* 功能描述:
* 两个对象集合添加到一起
* 在用flatMap扁平化改为Stream<User>
* 这样map中的item就是OccupyProduct对象了
* 赋值后返回新对象,转为list
*
* @author wzw
* @param
*/
@Test
public void testStreamOf()
{
// 创建实验对象1
User user1 = new User();
user1.setId(1);
// 创建实验对象2
User user2 = new User();
user2 .setId(2);
// 创建实验集合对象1
List<User> users1= Arrays.asList(user1 );
// 创建实验集合对象2
List<User> users2 = Arrays.asList(user2 );
// 两个对象集合添加到一起,在用flatMap扁平化改为Stream<User>,
// 这样map中的item就是User对象了,赋值后返回新对象,转为list
List<User> user= Stream.of(users1, users2)
.flatMap(Collection::stream).map(item -> {
User user= new User();
user.setId(item.getId());
user.setName("wzw");
return user;
}).collect(Collectors.toList());
// 打印
System.out.println("user = " + user);
}
结果
user = [
user(id=1,name=wzw),
user(id=2,name=wzw )
]
案例:用流中的Stream.Of(arr1,arr2)将两个数组合并
将两个int[] 转为List<Integer>
@Test public void suanfa42() { int[] a = {1, 2, 3, 4, 4}; int[] b = {2, 3, 6};// 合并两个数组并排序 List<Integer> integers = Stream.of(Arrays.stream(a).boxed(), Arrays.stream(b).boxed()) .flatMap(item -> item).sorted().collect(Collectors.toList()); }
结果图
* 博客文章部分截图及内容来自于学习的书本及相应培训课程,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* 备注:王子威
* 我的网易邮箱:wzw_1314_520@163.com