ListA、ListB、ListCという3つのリストを使用して、3人の被験者(A、B、C)の10人の学生のマークを保持しています。 10のうちこれだけ少ない学生は、これらの対象におけるマークを有するリストオブジェクトを集約するためのJava 8ストリームの使用
被写体B及びCは、任意である
Class Student{
String studentName;
int marks;
}
リスタは、10人のレコードを有し、ListBの3 5及びListCため(これもサイズであります
Java 8の蒸気を使って、どのようにして科目の学生の印を集計することができるか知りたいですか?
私はとの2つの問題があり、次の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());;
を試してみました。この
それは10個の要素
b)に返されたリストを持っていないListBのとlistCとしてはIndexOutOfBoundsExceptionを与えるA) Integer型の場合はStudent型にします
任意の入力は、あなたが3つのリストの流れを作り、その後、単一のストリームにすべてのリスト要素を配置するflatMap
を呼び出すことができます
ので、件名があります、実際には、1つの科目にそのマークが付いた生徒、そうですか?名前は学生の名前ですよね? –
私はあなたがそれのためにジッパーが必要だと思う、率直に言うと、標準的な図書館にはない!それを行う方法についてはここを参照してください:http://stackoverflow.com/questions/17640754/zipping-streams-using-jdk8-with-lambda-java-util-stream-streams-zip – niceman
はい、それは学生です..私は詳細を修正しました。ありがとう – girish