如何将这段代码转换为Java 8流。
试图用于每个,但失败了。 For循环代码有效。
for(RestrictedInstrument restrictedInstrument : restrictedInstruments){
List<Identifier> identifierList = restrictedInstrument.getIdentifier();
setTicker(matrix, identifierList);
}
setTicker()
方法应与矩阵Object和identifierList
一起调用。
答案 0 :(得分:2)
您可以只使用List.forEach()
:
restrictedInstruments.forEach(i -> setTicker(matrix, i.getIdentifier()));
答案 1 :(得分:1)
假定受限仪表为列表,首先映射到identifierList,然后使用Stream.forEach()执行setTicker(...)方法
restrictedInstruments
.stream()
.map( RestrictedInstrument::getIdentifier )
.forEach( identifierList -> setTicker(matrix, identifierList) )
对于数组,只需使用Arrays.stream(limitedInstruments)
答案 2 :(得分:1)
您可以流式处理列表,然后简单地传递仅调用setTicker函数的使用者。
restrictedInstruments.stream()
.forEach(identifierList -> setTicker(matrix, identifierList.getIdentifier()));