小编jav*_*456的帖子

流如何在内部处理数据?

如果我在流上执行多个操作,它们是如何在内部计算的。

  1. 它是否以与输入集合相同的顺序计算?
  2. 它是否将函数应用于所有元素,然后移动以评估下一个函数?或者它将所有功能应用于一个元素,然后是第二个元素......依此类推。
  3. 在性能方面,它与对集合执行的正常迭代有何不同。

    List<Integer> ee = new ArrayList<Integer>();
    Function<? super Integer, ? extends Integer> f1 = x -> x * 2;
    Function<? super Integer, ? extends Integer> f2 = x -> x * x;
    Function<? super Integer, ? extends Integer> f3 = x -> x / 2;
    ee.stream().map(f1.compose(f2.andThen(f3))).collect(Collectors.toList());

    ee.stream().map(f1).map(f2).map(f3).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

编辑问题以添加多个地图操作。在多个地图函数应用的情况下如何计算地图函数。在谈论非并行流时,元素的计算顺序是否仅取决于输入集合的类型(即对于列表、linkedHashmap、sortedset 和无序对于 hashSet 等)。另外,我能否对流的内部工作有更多的了解,以便更好地决定何时不建议使用流以及何时建议使用最多。(集合大小、序列的性质等)

java java-8 java-stream

2
推荐指数
1
解决办法
745
查看次数

小黄瓜,两种情况可以相互依赖吗

Scenario1 
When a new user  clicks on sign up page
And provides login ID 
Then user is signed up and can view profile page.
Scenario2 
When user  clicks on the edit profile page
And updates his address
Then updated profile should be visible to user
Run Code Online (Sandbox Code Playgroud)

这些场景以相同的顺序写入功能文件中。当为其编写黄瓜文件时,我在场景 1 中创建一个用户。在场景 2 中,正在更新同一用户。在某种程度上,场景 2 依赖于场景 1,因为它正在更新场景 1 中创建的同一用户。

我的问题是创建的场景是否应该依赖于其他场景。或者它们应该独立于彼此的执行。在这种情况下,我应该在场景2中创建一个新用户,然后对其执行和更新并断言它。

gherkin cucumber-junit cucumber-java

2
推荐指数
1
解决办法
2099
查看次数

Java流在减少操作的情况下给出语法错误

我试图在Integer流上使用reduce方法来获取所有值的总和。但出现语法错误,无法找出错误。

List<Integer> ee = new ArrayList<Integer>();
Function<? super Integer, ? extends Integer> f3 = x -> x / 2;
BinaryOperator<? extends Integer> accumulator = (x, y) -> x + y;
ee.stream().map(f3).reduce(new Integer(0), accumulator);
Run Code Online (Sandbox Code Playgroud)

它给出了错误:

The method reduce(capture#2-of ? extends Integer, BinaryOperator<capture#2-of ? extends Integer>) in the type Stream<capture#2-of ? extends Integer> is not applicable for the arguments (Integer, BinaryOperator<capture#7-of ? extends Integer>)
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

1
推荐指数
1
解决办法
81
查看次数