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

使用stream Java 8获取属性数组、属性数组(嵌套属性)

赵飞雨
2023-03-14
List<IdDTO> ids = collectionEntityDTO.stream().map(EntityDTO::getId).collect(Collectors.toList());
List<Long> codes = ids.stream().map(IdDTO::getCode).collect(Collectors.toList());
Long[] arrayCodes = codes.toArray(new Long[0]);

如何做到这一点,以这种简单的方式?

共有1个答案

贺桐
2023-03-14

您的方法相当低效,只需将方法链接起来:

collectionEntityDTO.stream()
        .map(EntityDTO::getId)
        .map(IdDTO::getCode)
        .toArray(Long[]::new);

这种方法更好,因为:

>

  • 更容易读懂发生了什么

  •  类似资料:
    • 这一数组属性返回一个包含数组维度的元组,它也可以用于调整数组大小。 输出如下: (2, 3) 示例 2 # 这会调整数组大小 import numpy as np a = np.array([[1,2,3],[4,5,6]]) a.shape = (3,2) 输出如下: [[1, 2] [3, 4] [5, 6]] NumPy 也提供了reshape函数来调整数组大小。 import n

    • 问题内容: 有一个叫的课程。 而且我有一系列对象。我现在需要将数组中所有这些对象的s 提取到新数组中。 我也发现了类似的问题。但是它在Objective-C中,因此可以用来完成此任务。 如何在Swift中执行此操作? 问题答案: 您可以使用方法,将某种类型的数组转换为另一种类型的数组-在您的情况下,从的数组转换为的数组:

    • 主要内容:ndarray.shape,ndarray.reshape(),ndarray.ndim,ndarray.itemsize,ndarray.flags本节介绍 Numpy 数组的常用属性。 ndarray.shape shape 属性的返回值一个由数组维度构成的元组,比如 2 行 3 列的二维数组可以表示为 ,该属性可以用来调整数组维度的大小。 示例如下,输出了数组的维度: 输出结果: (2,3) 通过 shape 属性修改数组的形状大小:  输出结果: ndarray.reshape

    • 在本章中,我们将讨论NumPy的各种数组属性。 ndarray.shape 此数组属性返回由数组维度组成的元组。 它也可以用于调整阵列的大小。 例子1 (Example 1) import numpy as np a = np.array([[1,2,3],[4,5,6]]) print a.shape 输出如下 - (2, 3) 例子2 (Example 2) # this resize

    • 有一个名为的类。 并且我有一个对象的数组。我现在需要的是将该数组中所有对象的s提取到一个新数组中。 我也发现了这个类似的问题。但是它是在Objective-C中的,所以它使用来实现这一点。 我怎么能在斯威夫特做到这一点呢?

    • 我试着从这里开始: 到此处: 用尽可能少的代码。显然,我可以只循环它并构建数组,但我需要在各种对象上进行大量的操作。我可以编写一个函数来实现它,但很难使该函数对我的应用程序足够通用。 在jQuery中有这个的快捷方式吗?