스트림으로 보낼 축구선수객체를 생성하는 클래스
속성 : 선수이름, 슈팅지수
public class SoccerPlayer {
private String name;
private int shooting; // 슈팅지수
public SoccerPlayer(String name, int shooting) {
this.name = name;
this.shooting = shooting;
}
public int getShooting() {
return shooting;
}
}
import java.util.Arrays;
import java.util.List;
public class MapToIntAndAverage {
public static void main(String[] args) {
SoccerPlayer ribery = new SoccerPlayer("리베리", 102);
SoccerPlayer robben = new SoccerPlayer("로벤",101);
SoccerPlayer lewandowski = new SoccerPlayer("레반도프스키",104);
SoccerPlayer muller = new SoccerPlayer("뮐러",104);
List<SoccerPlayer> teamBayern = Arrays.asList(ribery,robben,lewandowski,muller);
double teamShootAvg = teamBayern.stream() // [1]
.mapToInt(SoccerPlayer::getShooting) // [2]
.average() // [3]
.getAsDouble(); // [4]
System.out.println("바이에른 뮌헨팀의 평균슈팅지수 : " + teamShootAvg);
/*
[1] 리스트의 객체를 스트림으로 보냄
[2] 객체의 getShooting 메서드를 참조하여 새로운 IntStream 생성
[3] 새로 생성된 IntStream 평균을 구함 반환형이 OptionalDouble
[4] OptionalDouble형을 double형으로 반환
*/
}
}
[Stream] 스트림 필터 : filter() 메서드 예제 (0) | 2020.06.17 |
---|---|
[Stream] 배열에서 스트림 얻기 (0) | 2020.06.16 |
[Stream] 스트림직렬처리와 병렬처리 비교 (0) | 2020.06.16 |
[Stream] 스트림 ForEach 메서드 예제 (0) | 2020.06.16 |
[Thread] ThreadGroup : 그룹 지정 (0) | 2020.06.16 |
댓글 영역