当前位置: 首页 > 面试题库 >

获取列表中对象的属性列表

东深
2023-03-14
问题内容

当存在时List<Person>,是否有可能获得全部列表person.getName()?是否为此准备了电话,还是我必须编写一个foreach循环,如:

List<Person> personList = new ArrayList<Person>();
List<String> namesList = new ArrayList<String>();
for(Person person : personList){
    namesList.add(personList.getName());
}

问题答案:

Java 8及更高版本:

List<String> namesList = personList.stream()
                                   .map(Person::getName)
                                   .collect(Collectors.toList());

如果需要确保得到ArrayList结果,则必须将最后一行更改为:

                                    ...
                                    .collect(Collectors.toCollection(ArrayList::new));

Java 7及以下版本:

Java 8之前的标准集合API不支持这种转换。您必须编写一个循环(或将其包装在您自己的“地图”函数中),除非您使用一些更高级的集合API /扩展。

(您的Java代码段中的行正是我要使用的行。)

在Apache
Commons中,您可以使用CollectionUtils.collectTransformer

在番石榴中,您可以使用该Lists.transform方法。



 类似资料:
  • 问题内容: 我在python中有一个 统一 的对象列表: 现在,我想提取一个具有该类某些属性的列表(比如attr),以便将其传递给某个函数(例如用于绘制该数据) pythonic的做法是什么, ? 也许派生列表并添加一个方法,所以我可以使用一些习惯用法,例如 ? 问题答案: 您还可以编写: 这样,您将获得一个节省内存的生成器。有关更多好处,请参见Generator Expressions 。

  • 我正在尝试过滤scala中对象列表的列表属性。例如: 用java定义的类 我的过滤器函数返回字符串列表而不是结果列表 UPDATE我想取回listOf中的所有结果,其中每个结果的名称属性被过滤。

  • 问题内容: 我有一个对象列表。对象具有3个字符串属性。我想制作一个仅包含类中特定属性的列表。 有内置的功能可以做到这一点吗? 问题答案: 列表理解会很好地工作: 但是,由于您要求:-),所以有内置功能的组合。

  • 我想通过对象在Java中的属性来获取列表中对象的索引。 例: 现在,我想获取一个名为“Girish”的对象的索引。请务必让我知道JAVA中的代码。

  • 问题内容: 我有一类称为具有可变的。 我想退出具有最大变量的。 我知道可以通过编写一个自定义比较器并使用来完成此操作,但是我想知道在Java 8中是否可以通过使用自定义比较器来完成此操作,因为我只想使用一个最长日期仅出现在我的代码中的某个位置,并且该类不应始终使用变量来比较实例。 问题答案: 并且Contact类不应该总是使用lastUpdated变量来比较实例 因此,每当要按实例的属性比较多个实

  • 我的查询对象是 但是 <代码>列表 将结果列表转换为classNameList。当我迭代单个值时,我的实体值在ClassName属性中为空。调用getter方法时不显示值。我的pojo看起来如下所示,当我打印pojo的值为空时,我的foreach正好迭代四次。 我的查询对象来自com.google.cloud.firestore包。和ApiFuture来自com.google.api.core.A