我們使用3個列表ListA,ListB,ListC爲3個主題(A,B,C)中的10名學生保留標記。使用Java 8流聚合列表對象
主題B和C是可選的,所以只有幾個學生總分10具有標記在那些受試者
Class Student{
String studentName;
int marks;
}
利斯塔具有用於10個學生記錄數組listB 5和ListC 3(其也是大小的名單)
想知道我們如何可以總結他們的學生使用java 8蒸汽的標記。
我嘗試以下
List<Integer> list = IntStream.range(0,listA.size() -1).mapToObj(i -> listA.get(i).getMarks() +
listB.get(i).getMarks() +
listC.get(i).getMarks()).collect(Collectors.toList());;
有2個問題與此
一)它會給IndexOutOfBoundsException異常的數組listB和listC沒有10元
二)返回的列表如果是Integer類型,我希望它是Student類型。
任何投入將是非常有益的
所以,一個主題是,實際上,一個學生,在一個主題上有標記,對嗎?這個名字是學生的名字,對嗎? –
我認爲你需要壓縮,坦率地說,壓縮不在標準庫中!看到這裏如何做到這一點:http://stackoverflow.com/questions/17640754/zipping-streams-using-jdk8-with-lambda-java-util-stream-streams-zip – niceman
是的,這是一個學生..我已更正細節。謝謝 – girish