我试图找到一种更好的方法来执行此方法。
private void appendTiles(StringBuilder builder, String taggedRefData) {
for (List<Line> column : columns) {
for (Line line : column) {
builder.append(line.link).append(line.text);
}
}
}
有更有效的方法吗?
答案 0 :(得分:2)
不,你有一个列表列表,总会有两个循环。即使在Java 8中,您也可以使用流和flatMap,它们仍然会在内部使用2个循环。
答案 1 :(得分:2)
不,没有办法以有意义的方式进一步优化它:appendTiles
的代码必须遍历Line
内的所有columns
个对象,尽管实际的对象是在二维结构内部(List
s的集合)。无论如何,您必须访问line.link
和line.text
。这是该方法的“有效载荷”;它不会改变,即使你设法通过使用流将两个循环组合成一个。