【发布时间】:2020-05-19 21:06:54
【问题描述】:
我需要一些关于在此处使用 Java Streams 可以做什么的指导。我有 test[][] 对象的二维数组,其中包含行、列和值。为了产生不同的表示,我循环并手动附加不同的字符来做到这一点。
public class Test{
private Point[][] test; // like a rectangle
...
}
public String someFunction() {
StringBuilder result = new StringBuilder(150);
for (int row = 0; r < 10; row++) {
for (int col = 0; c < 15; col++) {
if (test[row][col].getVal() == 1) {
result.append('L');
} else if (test[row][col].getVal() == 2) {
result.append('M');
} else if (test[row][col].getVal() == 10) {
result.append('N');
} else {
result.append(' ');
}
}
result.append('\n');
}
return result.toString();
}
另外,通常流如何与 2 个循环一起工作,一些很好的例子会很有帮助。
【问题讨论】:
-
你能分享
test的定义吗?字符串比较也应该用equals完成,而不是== -
@Michael - 已更正!只是为了显示样本比较
-
@azro - 已更正!并补充说,我需要一些想法如何替换这些循环和 ifs .. 使用流还是比当前的更努力和更混乱?
-
请记住,仅仅因为流“较新”,并不意味着它总是更好或更清晰地使用。
标签: java java-8 java-stream