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

在使用流迭代列表时获取索引

柴宝
2023-03-14
问题内容

List rateList =
guestList.stream()
.map(guest -> buildRate(ageRate, guestRate, guest))
.collect(Collectors.toList());

class Rate {
    protected int index;
    protected AgeRate ageRate;
    protected GuestRate guestRate;
    protected int age;
}

在上面的代码中,可以通过guestList内部buildRate方法的索引。我在构建时还需要传递索引,Rate但无法通过获取索引Stream


问题答案:

您尚未提供的签名buildRate,但是我假设您希望guestList首先传递元素的索引(在之前ageRate)。您可以使用IntStream获取索引,而不必直接处理元素:

List<Rate> rateList = IntStream.range(0, guestList.size())
    .mapToObj(index -> buildRate(index, ageRate, guestRate, guestList.get(index)))
    .collect(Collectors.toList());


 类似资料:
  • 在上面的代码中,是否可以在方法内部传递的索引。在构建时,我还需要传递索引,但无法使用获取索引。

  • 我正在尝试使用列表迭代器来遍历一个链表,并根据存储在那里的整数值对下一个节点进行一些操作/检查,但我的代码中出现了一些错误。我想我不明白iterator.next()正在返回什么(一些E对象,但我不知道如何从它中访问我想要的值)编辑器希望我做一些如下所述的转换。它摆脱了错误,但我不知道这是否是处理问题的安全方法,或者它是否具有我正在寻找的行为。请解释为什么我会得到错误,以及是否有一个好的方法来处理

  • 问题内容: 我试图根据当前正在另一个列表上迭代的索引显示来自其他列表的值,但无法弄清楚如何访问各个项目。 如你所见,我尝试使用它,但是它什么也不显示,它只是创建一个空的表头元素。 我的其他数组在视图中的定义如下,如果删除,则可以看到整个数组已打印到表头 如果我错过任何必填信息,请告诉我。 问题答案: 听起来你想同时遍历两个列表,换句话说就是zip()列表。 如果是这种情况,最好在视图中进行操作并在

  • 我有一个映射,它包含日期作为键和(另一个字符串作为键和列表作为值的映射)作为值。,我想填充另一个将String作为键和double作为值的映射。FlexiServer的内容包括 因此,基本上,我想首先迭代外部映射以获得内部映射,然后迭代内部映射以获得FlexiServers列表,并填充新的映射,其中服务器号作为键,数量列表作为值。我如何使用Java8流来实现这一点呢? 我尝试使用for循环,但我希

  • 问题内容: 为了在模板中使用‘s’ 关键字,我想在使用进行迭代时获取地图条目的索引。有什么办法吗?我的地图具有以下结构: 问题答案: 您不仅可以使用模板操作来执行此操作,还可以注册一个提供必要帮助的函数。 您可以注册一个返回一个函数(闭包)的函数,该函数在每次调用时都会改变其返回值(确切地说,“奇数”和“偶数”索引的交替方式): 我将其命名为不与ravel的碰撞。使用它: 输出(在Go Playg

  • 问题内容: 我在工作中使用的程序使用Python作为脚本语言。我试图在插入列表时修改列表感到困惑。另外,我在for循环中有一些逻辑,希望将列表的一部分从浮点数转换为文本。最后,所有文本必须正好为4个空格。在我为解决这个问题而进行的研究中,我遇到了许多其他的模拟问题,这些其他问题试图在迭代列表时尝试修改列表。但是我觉得我的问题很独特,因为我试图在遍历列表时将列表从浮点数修改为文本。 我实际上找到了解