我正在学习如何使用Java 8流。我如何使用流而不是for循环来执行以下操作:
public static void clump(ArrayList strList)
{
for(int i = 0; i < strList.size() - 1; i++)
{
String newStr = "(" + strList.get(i) + " "
+ strList.get(i + 1) + ")";
strList.set(i, newStr);
strList.remove(i + 1);
}
}
2条答案
按热度按时间gzszwxb41#
使用0到列表大小一半之间的
IntStream
,并将元素乘以2:这会把连接的元素放到一个新的列表中,为了去掉原始列表中未连接的元素,并把连接的元素放在前面,我们可以使用
subList
,它是列表的一个可变视图:Ideone Demo
子列表填充的另一种选择是也处理流中的最后一个元素:
Ideone demo
bvjxkvbb2#
@Andy Turner提供的答案看起来很棒,这里我只是提供了abacus-common的替代解决方案。