如何用一个对象集合中对象的某个属性生成一个新的集合

  • Post author:
  • Post category:其他


如何用一个对象集合中对象的某个属性生成一个新的集合

今天工作时遇到的一个小问题

通过循环也可以筛选出来但是感觉写出来不好看

于是上网查资料发现还有更简便的方法

java 1.8 新特性

stream()也可以做到

以从user类型集合取其id为例

// user 所带属性 id name sex 
List<User> userList = new ArrayList<> ();
User user = new user("1","张三","男");
User user2 = new user("2","李四","男");
User user3 = new user("3","王五","男");
userList.add(user);
userList.add(user2);
userList.add(user3);
List<String> userIds = userList.sream.map(User::getId).collect(Collectors.toList());

其中 map() 可以映射一个方法该方法会被应用到每个元素上,并将其映射成一个新的元素。

所以

//上面的原理实际上就是通过Stream() 方法将集合流化然后 通过 map() 映射user的getId() 得到所有用户的id 最后用collect()将所有id整合成一个新的集合

希望能对小伙伴有些帮助



版权声明:本文为qq_45990741原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。