当前位置: 首页 > 知识库问答 >
问题:

使用Streams java[duplicate]从对象列表中获取成员列表

封瑞
2023-03-14

我有一个包含两个成员的类和该类的对象列表。现在我想从对象列表中提取成员列表。

例如:

class student {
      int Id;
      String studentName;
}

现在我需要从学生列表中检索studentName列表。如何使用java8流实现这一点?

不使用流的解决方案:

List<student> studentList;
List<String> nameList = new ArrayList<String>();
Iterator iterator = studentList.iterator();
while(iterator.hasNext()){
  nameList.add(iterator.next().getStudentName());
}

共有1个答案

白高逸
2023-03-14

你需要使用Stream#map方法,类似这样:

List<Student> students = ...;
List<String> names = students.stream().map(Student::getName).collect(toList());
 类似资料:
  • 问题内容: 当存在时,是否有可能获得全部列表?是否为此准备了电话,还是我必须编写一个foreach循环,如: 问题答案: Java 8及更高版本: 如果需要确保得到结果,则必须将最后一行更改为: Java 7及以下版本: Java 8之前的标准集合API不支持这种转换。您必须编写一个循环(或将其包装在您自己的“地图”函数中),除非您使用一些更高级的集合API /扩展。 (您的Java代码段中的行正

  • 我使用hibernate进行数据库通信。我有一个类: 现在我想用它的主键来获取这个对象,但是这个对象应该只有特定的列? 我尝试使用标准和投影,它返回一个结果,但它没有映射到我期望的对象(Person Object) 任何想法如何解决这个问题使用Hibernate查询/标准? 谢谢

  • 尝试使用这个资源:仍然不走运,我如何从Java8 Stream的一些类属性中获得列表?

  • 我有两个问题: 如何使用spring RestTemplate映射JSON对象列表。 如何映射嵌套的JSON对象。 我正在尝试使用https://bitpay.com/api/rates,方法是按照http://spring.io/guides/gs/consource-rest/的教程学习。

  • 我使用最新的freemarker版本2.3.23我有列表,其中包含用户对象,用户对象很简单,只包含名称属性。我的ftl文件如下所示: 我的Java代码如下所示: 错误显示如下: