li-*_*raz 0 java java-8 java-stream
我上课了
public class Targets {
public int[] miniTargets;
public Targets(int t) {
miniTargets = new int[t];
for (int i = 0; i < t; i++) {
miniTargets[i] = t;
}
}
}
Run Code Online (Sandbox Code Playgroud)
而且我想要计算miniTargets我Targets收藏的数量,但我坚持flatMap:
public class App {
public static void main(String[] args) {
List<Targets> lst = new ArrayList<Targets>();
lst.add(new Targets(5));
lst.add(new Targets(15));
lst.add(new Targets(25));
int cnt = (int)lst.stream().map(tg -> tg.miniTargets).flatMap(...).count()
System.out.println(cnt);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想要miniTargets数组的总长度:
int cnt = lst.stream()
.mapToInt(tg -> tg.miniTargets.length)
.sum();
Run Code Online (Sandbox Code Playgroud)
如果你想要一个包含miniTargets的IntStream:
IntStream minis = lst.stream()
.flatMapToInt (tg -> IntStream.of(tg.miniTargets));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |