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

Java8流如何从后向前遍历元素?[duplicate]

公孙联
2023-03-14

例如:

List<Integer> list = Lists.newArrayList(3, 1, 2)
for(int i = list.size() - 1; i>=0; i--) {
    System.out.println(list.get(i));
}

如何在Java8 Stream中实现上述代码?

共有3个答案

耿招
2023-03-14
   int[] array = {3, 1, 2};
   IntStream.rangeClosed(1, array.length)
     .mapToObj(i -> array[array.length - i])
     .forEach(System.out::println);
越安翔
2023-03-14

如果像这样的东西:

List<Integer> list = Arrays.asList(3, 1, 2);
    Collections.reverse(list);
    list.forEach(System.out::println);
聂宜
2023-03-14

你可以试试下面这段代码-

ListIterator<Integer> iterator = list.listIterator(list.size());
Stream.generate(iterator::previous)
  .limit(list.size())
  .forEach(System.out::println);
 类似资料:
  • 问题内容: 这是我的代码: 我想按降序打印数组,而不是按升序打印(从数组的最后一个元素到第一个元素),但我只会抛出此错误: 为什么会这样呢?我希望通过使用myArray.length将计数器设置为8,代码将只打印出数组的第8个元素,然后继续打印之前的那个元素。 问题答案: 在Java中数组索引从到,不给,因此,你应该相应地分配您的变量,并使用正确的比较操作。 您的循环应如下所示:

  • 问题内容: 说我有一个清单,我想遍历第一个清单。用Python编写此代码的最佳方法是什么? 问题答案: 通常的方法是切片:

  • 问题内容: 我想做一个Java游戏。首先,程序要求玩家的数量。之后,它询问他们的名字。我将他们的名字放在ID和分数中。在游戏结束时,我会计算分数,然后将其放在(特定名称的特定分数)中。有谁知道如何做到这一点?这是我的代码: 玩家: 主要: 有谁知道我最后如何打印,例如: 更新: 我主要是这样做的(正如Jigar Joshi建议的那样) 当我将球员的两个名字“ a”和“ b”放进去时,它会显示“分数

  • 对于元素间的空格,IE9 及之前版本不会返回文本节点,而其他所有浏览器都会返回文本节点。这样,就导致了在使用childNodes 和firstChild 等属性时的行为不一致。为了弥补这一差异,而同时又保持DOM规范不变,Element Traversal 规范(www.w3.org/TR/ElementTraversal/)新定义了一组属性。 Element Traversal API 为DOM

  • 问题内容: 我正在尝试遍历所有使用forEach 重构的元素。有什么想法为什么在FF,Chrome或IE中不起作用? 问题答案: 您需要使用以下命令将节点列表转换为数组: 或用于循环。 并将ShowResults函数更改为: 为什么我们需要这样做? JavaScript中的某些对象看起来像一个数组,但不是一个。这通常意味着它们具有索引访问和length属性,但是没有任何数组方法。示例包括特殊的变量

  • 本文向大家介绍如何遍历PHP中的DOM元素?,包括了如何遍历PHP中的DOM元素?的使用技巧和注意事项,需要的朋友参考一下 以下是XML数据(输入)- 遍历DOM对象中的元素。 示例 输出结果 这将产生以下输出- 通过在XML文件中的所有节点上运行foreach循环,可以获取XML文件中的元素。在foreach循环内,将引用主节点的子节点,并且可以访问该子节点的子值。